スポンサードリンク

無料ブログはココログ

« ウィンドウ枠に色がつけられるインターフェース SQL Server 2008 | トップページ | ウィルス対策ソフトの行進期限が切れたので、Microsoft Security Essentialsに乗り換えてみた »

ExcelデータをSQL Serverにマウス操作で簡単にコピー&ペーストする方法/EXCELで2テーブルの比較・差異をとる方法考察


このエントリーを含むはてなブックマーク
Ed01


エクセルを扱っていると、痒いところに手が届かない、むずがゆい思いをすることがあります。

たとえばデータAとデータBがあり、その差異、漏れを手っ取り早く探したい場合、私の場合LOOKUP関数を使います。本来のLOOKUP関数の使用目的と異なりますが、他にどんな関数があるかよく知らない(知っている方がいたら教えてください)。しかし差異、漏れの一覧を出力したい場合、どうすればいいのかわかりません。


Hint エクセルでLEFT JOIN/RIGHT JOIN


SQLでいうLEFT JOIN/RIGHT JOINをエクセルで実現するにはどうしたらいいのでしょうか?


テーブル1テーブル2
C
A
B
D
  
E
B
C


one 並び替え+マウスで手動配置


この方法は比較的データ数が少ない場合、効果的です。まず最初に両テーブルをソートします。その後同値同士を同じ行にドラッグ(移動したいセルを選択し、その太枠をドラッグ)して移動させる。これを上から下までやれば完了です。

ソート後

AB
BC
CE
D

同値で行を揃えた後

A
BB
CC
D
E


two 表データをSQLに貼り付けてJOIN


この方法だと膨大な表データでも対応可能です。当然SQLのデータベース上にデータを移すため、SQLを使えれば操作も思う存分です。


Hint エクセルデータをSQL Serverにコピー


さて問題となるのはエクセルのデータをどうやってSQLデータベース上に移行するか。SQL Serverデータ変換サービス(DTS)、BCP Insertコマンド、BULK Insertコマンドは一度データファイルを別に保存する必要があり、やたら面倒なので論外。なんとかエクセルの表をコピーして、クリップボード経由でSQL上に貼り付けできないか試行錯誤したところ、やっぱりできるもんです。さすがマイクロソフト製品dollar


その方法を順に記します。


1.データには図のように左から 整数、整数、文字列 のデータを想定
Ed01


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

Ed04


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


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


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


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


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


2テーブル間の差異・比較を行うテクニックは こちらのSQL参考書(達人に学ぶ SQL徹底指南書)  がお勧めです。他にも現場で使えるSQLテクニックが満載。



データベースパフォーマンスアップの教科書 基本原理編 エンコアコンサルティング (著)
「データベースパフォーマンスアップの教科書 基本原理編」
「データベースが遅い!」基本原理から問題解決をしたいシステム開発従事者のための一冊
情報処理教科書 データベーススペシャリスト 2010年度版 (CD-ROM付) 松田 幹子 (著), 山下 真吾 (著), 三好康 之 (著)
「情報処理教科書 データベーススペシャリスト 2010年度版 (CD-ROM付)」
新年に新しい資格を! CD-ROMに過去問題(平成14年~)、解答用紙、解説PDF収録。午前午後の対策にばっちし
ヱヴァンゲリヲン新劇場版:破 EVANGELION:2.22 YOU CAN (NOT) ADVANCE. [Blu-ray]
「ヱヴァンゲリヲン新劇場版:破 EVANGELION:2.22 YOU CAN (NOT) ADVANCE. [Blu-ray]」
公開日初日に観に行った時のあの感動を自宅で!

« ウィンドウ枠に色がつけられるインターフェース SQL Server 2008 | トップページ | ウィルス対策ソフトの行進期限が切れたので、Microsoft Security Essentialsに乗り換えてみた »

パソコン」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1180734/32975023

この記事へのトラックバック一覧です: ExcelデータをSQL Serverにマウス操作で簡単にコピー&ペーストする方法/EXCELで2テーブルの比較・差異をとる方法考察:

« ウィンドウ枠に色がつけられるインターフェース SQL Server 2008 | トップページ | ウィルス対策ソフトの行進期限が切れたので、Microsoft Security Essentialsに乗り換えてみた »

オススメの一品