人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

項目名の並びの違うエクセルを照合して一つの表にしていく方法はありますか

●質問者: mika555
●カテゴリ:コンピュータ インターネット
✍キーワード:エクセル 目名
○ 状態 :キャンセル
└ 回答数 : 1/1件

▽最新の回答へ

1 ● amnis

二つのsheet間でのこととして、一つの方法をご紹介します。


前提条件を仮に以下のようにします。

?一組の項目名がある(仮に100項目)

?Sheet1とSheet2それぞれについて、項目名(データ)には抜けがある(100項目そろっていない)

?抜けている項目名はSheet1とSheet2で異なる。

?A列には項目名、B列にはデータが格納されている。



【step1:項目名を網羅した「標準テーブル」を作る】

?Sheet3のセル「A1」に適当なタイトルをつける(項目名のいずれともダブらない名称にすること)

?Sheet3のA列の2行目以降のセルに、sheet1とSheet2の項目名をコピーペーストする(縦に連ねる)

?A列をソートする。(同じ項目名は連続した行になりますね)

?Sheet3のセル「B2」に以下のIF文を入力。

if(a2=a1,1,0)

※すぐ上の行と同一ならば「1」を返し、異なれば「0」を返します。

?セル「B3」以下に?のIF文をコピーペーストする(A列にデータがある範囲に)

?Sheet3のB列にフィルターをかけて値が「1」の行のみ抽出し、それらの行を削除する。

次にB列を削除する。

残ったA列が「標準テーブル」となります。

(フィルター:メニューバーから「データ」-「フィルタ」-「オートフィルタ」)


【step2:データをまとめる】

Sheet1、Sheet2ともデータの範囲は「A1」?「B80」と仮定。

?Sheet3のセル「B2」と「C2」にそれぞれ以下の関数を入力。

「B2」:vlookup(a2,sheet1!$a$1:$b$80,2,false)

「C2」:vlookup(a2,sheet2!$a$1:$b$80,2,false)

※Sheet3の一行目はタイトル行にしてありましたので、この構文です。

?セル「B2」をコピーして「B3」以下標準テーブルの末端まで貼り付ける。「C2」についても同様にする。

?Sheet3のA列(標準テーブル)に対して、B列にSheet1のデータ、C列にSheet2のデータが表示されているはずです。

その後の必要な措置(計算とか文字列結合とか)を行ってください。


※注意点・・・Sheet1もしくはSheet2において、同一項目名でデータが複数回出現するようなケースでは、この方法だけでは十分ではなくもう一手間かける必要があります。


質問文から、たぶんこういう事だろうと推測しましたが、前提条件はもっとシンプルなのかなぁ・・・

ともあれ、参考になれば幸いです。


http://q.hatena.ne.jp/1182464350

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ