• 締切済み

Excelでデータを抽出したい

エクセルに詳しくないので、教えてください。 Sheet1のA列とB列に文章データがあります。このデータは2つで1セットになっています。 Sheet2には、D列部分にA列のデータが順不同であります。 このA列とD列にあるデータ同士の文章は同一のものですが、 Sheet1にあるB列のデータがSheet2にはないので、 同じB列のデータをD列の隣のE列に表示させ、 同じようにまた2つで1セットにしたいと思っていますが、方法がわかりません。 わかりにくい表現で申し訳ないのですが 教えていただけると助かります。 よろしくお願いします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

質問も御礼欄の文章も、エクセルを知らないとか、事務になじんでないのか、コンピュターになじんでないのか要領を得ない。 はじめには文章といっているが、あとでは一方は数字のようでもある。 (1)対を復活させるのは、VLOOKUP関数やMATCH関数しかない。 (2)ただし全く同じ文字列(全角半角、中間のスペース、句読点など含めて1言一句全く同じであること) >同士の文章は同一のものですが 正確な実例を知りたいが、ここには書かないだろう。 (3)VOLLKUP関数などは、A列で、同じ文字列が2つ以上あると、2番目以後は見つけられない。 (4)Googleででも、「エクセル VLOOKUP関数」で照会して、解説がたくさんあるから、解説の実例などやってみて、特徴や機能を知り、自分の問題に投影して、再質問することをすすめる。 (5)同一のものが、なぜSheet1とSheet2のA列とD列に分かれたのかな。 エクセルでは文章を扱うのはメインの昨日ではない。「文章」でなくて、製品名や商品名のようなものではないのですか。 普通は名前漢字のようなもでマッチングせずに、数字コードなどで索引するのだが。同名や入力ミスがあるために。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.4

シート2のD1に対応するE1は =IF(COUNTIF(Sheet1!A:A,D1),VLOOKUP(D1,Sheet1!A:B,2,FALSE),"") のようにして検索させます。 何も計算結果が出なかった場合は,同じに見えても同じデータが入っていません。例えば余計なスペースが紛れているなども,失敗の原因になります。データをよく調べる必要があります。 必要に応じてE列をコピーし,その場で形式を選んで貼り付けの「値」にマークして値化して使います。

eleru
質問者

お礼

回答ありがとうございます。 回答3様、4様からいただいた数式でなんとかできそうです! ありがとうございました。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

シート2のE1セルには次の式を入力して下方にオートフィルドラッグします。 =IF(COUNTIF(Sheet1!A:A,D1)=0,"",VLOOKUP(D1,Sheet1!A:B,2,FALSE))

eleru
質問者

お礼

回答ありがとうございます。 回答3様、4様からいただいた数式でなんとかできそうです! ありがとうございました。

回答No.2

#1の方の回答はSheet1のA列とSheet2のD列がソート順こそ違うものの すべて同じデータがあるという前提です。 もしSheet2.D列に並んでいるデータがSheet1.A列と違っている場合は以下の方法があります。 【手順】 (1) Sheet1のA・B列をA列でソートします。 (2) Sheet2の[E1]セルに以下の式を入力します。   「=VLOOKUP($D1,Sheet1!$A$1:$B$5,2,FALSE)」   ※その際、「$A$1:$B$5」の部分は(1)でソートをかけた範囲と同じにします。 (3) [E1]セルの内容を[E2]以降のセルにコピーします。 これでどうでしょう?

eleru
質問者

補足

回答ありがとうございます。 私なりにネットで調べて、VLOOKUPを使うところまではわかったのですが 回答いただいた内容が、以下の条件でも問題なく使えるかを 再度教えていただいてもよろしいでしょうか。 ・Sheet1には、A列とB列だけではなく他のデータが入っている ・Sheet2にも同様にほかのデータが入っており、そのデータの内容はSheet1の内容と異なっている ・E列に表示させたいのは、A列に対応するB列のデータのみである ・どちらのSheetもソートをかけずに、Sheet1A列のデータのみに反応させたい (他のデータが入っている関係でデータを動かせないのです) A列で検索をかけて、該当のB列のデータをE列へコピペしていけばいいのですが、 1000行程度のデータがあるため、 なんとかできないかなと考えて質問いたしました。 お手数をおかけいたしますが、よろしくお願いいたします。

  • ppyama
  • ベストアンサー率12% (48/399)
回答No.1

(1)A列、D列をそれぞれソートしてください。 (2)B列をE列へコピーしてください。

eleru
質問者

補足

回答ありがとうございます。 A列にあるデータとD列にあるデータは、 セルひとつひとつの内容は同じものが入っていますが A列にあるものがすべてD列にあるとは限りません。 私がやりたいことは、   A列    B列 1 あああ  123456 2 いいい  234567 3 ううう  345678 4 えええ  456789 5 おおお  987654 と表示されているものを   D列    E列 1 おおお  987654 2 ううう  345678 3 あああ  123456 4 いいい  234567 ↑E列に、このように表示させたいのです。 説明不足で申し訳ございません、よろしくお願いいたします。