ExcelデータをSQL Serverにマウス操作で簡単にコピー&ペーストする方法/EXCELで2テーブルの比較・差異をとる方法考察
エクセルを扱っていると、痒いところに手が届かない、むずがゆい思いをすることがあります。
たとえばデータAとデータBがあり、その差異、漏れを手っ取り早く探したい場合、私の場合LOOKUP関数を使います。本来のLOOKUP関数の使用目的と異なりますが、他にどんな関数があるかよく知らない(知っている方がいたら教えてください)。しかし差異、漏れの一覧を出力したい場合、どうすればいいのかわかりません。
エクセルでLEFT JOIN/RIGHT JOIN
SQLでいうLEFT JOIN/RIGHT JOINをエクセルで実現するにはどうしたらいいのでしょうか?
| テーブル1 | テーブル2 | ||||||||
|
|
並び替え+マウスで手動配置
この方法は比較的データ数が少ない場合、効果的です。まず最初に両テーブルをソートします。その後同値同士を同じ行にドラッグ(移動したいセルを選択し、その太枠をドラッグ)して移動させる。これを上から下までやれば完了です。
ソート後
| A | B |
| B | C |
| C | E |
| D |
同値で行を揃えた後
| A | |
| B | B |
| C | C |
| D | |
| E |
表データをSQLに貼り付けてJOIN
この方法だと膨大な表データでも対応可能です。当然SQLのデータベース上にデータを移すため、SQLを使えれば操作も思う存分です。
エクセルデータをSQL Serverにコピー
さて問題となるのはエクセルのデータをどうやってSQLデータベース上に移行するか。SQL Serverデータ変換サービス(DTS)、BCP Insertコマンド、BULK Insertコマンドは一度データファイルを別に保存する必要があり、やたら面倒なので論外。なんとかエクセルの表をコピーして、クリップボード経由でSQL上に貼り付けできないか試行錯誤したところ、やっぱりできるもんです。さすがマイクロソフト製品![]()
その方法を順に記します。
1.データには図のように左から 整数、整数、文字列 のデータを想定

2.SQL Serverのクライアント(画面はバージョン2005)からテーブルを作成
( 整数はINT, 文字列はNVARCHAR(n) )


もしくは直接テーブル作成クエリーを書く (なんでSQL 2005はこんなに遅い??)

3.エクセルのデータをコピー

4.SQLのDB一覧からテーブルを開く

5.左のタブをクリックし全セルを選択状態にして、貼り付ける(CTRL+V)

6.後はお任せ。もう片方のデータも別テーブルに移送し、LEFT JOIN/RIGHT JOINで差異をとれば完成です。

2テーブル間の差異・比較を行うテクニックは こちらのSQL参考書(達人に学ぶ SQL徹底指南書) がお勧めです。他にも現場で使えるSQLテクニックが満載。
![]() 「データベースパフォーマンスアップの教科書 基本原理編」 「データベースが遅い!」基本原理から問題解決をしたいシステム開発従事者のための一冊 | ![]() 「情報処理教科書 データベーススペシャリスト 2010年度版 (CD-ROM付)」 新年に新しい資格を! CD-ROMに過去問題(平成14年~)、解答用紙、解説PDF収録。午前午後の対策にばっちし | ![]() 「ヱヴァンゲリヲン新劇場版:破 EVANGELION:2.22 YOU CAN (NOT) ADVANCE. [Blu-ray]」 公開日初日に観に行った時のあの感動を自宅で! |
« ウィンドウ枠に色がつけられるインターフェース SQL Server 2008 | トップページ | ウィルス対策ソフトの行進期限が切れたので、Microsoft Security Essentialsに乗り換えてみた »
「パソコン」カテゴリの記事
- 名機Thinkpad240 か EeePC S101(2009.03.07)
- 旧型パソコンを蘇らせる10のポイント(2009.03.11)
- Thinkpad 240 + SSD = 無音高速なクラシックノート 再起動動画(2009.03.13)
- 一目で重い処理が終わったかどうか判断する方法 動画エンコーダーやアルゴリズム系プログラマ必見(2009.04.30)
- 複数ウィンドウ同時表示時の煩わしさを解消する方法 【画面最大化不要/ウィンドウ配置最適化】(2009.04.30)
トラックバック
この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1180734/32975023
この記事へのトラックバック一覧です: ExcelデータをSQL Serverにマウス操作で簡単にコピー&ペーストする方法/EXCELで2テーブルの比較・差異をとる方法考察:
« ウィンドウ枠に色がつけられるインターフェース SQL Server 2008 | トップページ | ウィルス対策ソフトの行進期限が切れたので、Microsoft Security Essentialsに乗り換えてみた »



![ヱヴァンゲリヲン新劇場版:破 EVANGELION:2.22 YOU CAN (NOT) ADVANCE. [Blu-ray]](http://ec3.images-amazon.com/images/I/31%2ByQte3wtL._SL500_AA300_.jpg)





![魔法少女まどか☆マギカ 6 【完全生産限定版】 [Blu-ray]](http://gongchengshi.cocolog-nifty.com/photos/uncategorized/2011/04/30/01.png)







![[カステルバジャック] castelbajac 長財布 056616](http://gongchengshi.cocolog-nifty.com/photos/uncategorized/2011/04/30/04.png)



コメント