• 締切済み

Excelでデータを抽出したい

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

  • eleru
  • お礼率48% (28/58)

みんなの回答

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

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

  • keithin
  • ベストアンサー率66% (5278/7940)
回答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列に、このように表示させたいのです。 説明不足で申し訳ございません、よろしくお願いいたします。

関連するQ&A

  • 重複するデータの抽出について(エクセル)

    エクセル2003にて重複するデータの取り出しをしたいのですが、 わからないので教えてください。 例えば   A列   B列   C列    D列    E列・・・ 1  色  1回目  2回目  3回目   4回目 2  赤   あ    a      A       0 3  白   い    b      B       1 4  黄   う    c      C       2 5  黄   え    d      D       3 6  黒   お    e      E       4 7  赤   か    f      F       5 : このデータの中から、別のシートのA1に 赤と入力したら、B1にD列のA・Fを抽出 黄と入力したら、B1にD列のC・Dを抽出をしたいです。 VLOOKUP関数を使用してみたのですが、 赤と入力すると、D列のA(1番上のデータ)のみしか抽出出来ず、Fが抽出されません。 重複するデータがあるのはA列のみで、D列には重複するデータはありません。 わかりにくい文章ですみませんが、よろしくお願いします。

  • エクセルで、異なる文字列を抽出するには。

    エクセルで、A1からA10に文字列のデータがあるとします。 10個のセルのデータは「あああ」が4こ「いいい」が3こ「ううう」が2こ「えええ」が1こ順不同であった場合、B1に「あああ」B2に「いいい」B3に「ううう」B4に「えええ」と異なる文字列のみ1個ずつ抽出するにはどうすればいいでしょうか。

  • EXCEL(2枚のSheetの比較・抽出)

    iwao32と申します。 EXCELについてまた教えてください。(まだまだど素人で、基本的な質問で申し訳ありません。) 以下の例で示します。 Sheet1                        Sheet2 A列     B列     C列           A列 1       10      a            2 2       20      b            4 3       30      c            5 4       40      d 5       50      e という2枚のSheetがあるとき、Sheet1のA列とSheet2のA列を比較して、Sheet1の中で、Sheet2のA列にあるものだけ、Sheet3に、 Sheet3 A列     B列     C列 2       20      b 4       40      d 5       50      e というものを作りたいのですが、やり方をお教えください。 よろしくお願いいたします。

  • excelのデータ抽出?検索?についておしえてください。

    excelのデータ抽出?検索?についておしえてください。 エクセル2003で sheet1に次のようなデータがあります。   A列  B列  C列     D列  E列 ・・・ 1 組   番号  氏名     古典  現文 ・・・  2 1   1   青木 優    3 1   2   池田 洋子   4 1   3   植村 美紀   ・ ・ sheet2には1組の成績が sheet3には2組の成績が入っています。 クラスによって科目が違います。 この「氏名」と1行目の「科目名」が一致するデータを 他のシートから読み出してくる関数がありませんでしょうか 青木さんの古典を1組のシートから読み出すといった感じです。 説明がへたで 申し訳ないのですが うまく検索ができなくて困っています。 ぜひ くわしいかた教えてください。 どうぞ よろしくおねがいします。

  • excel vba データリストからの抽出

    excel vbaで、以下のような事をしたいと思っています。 【sheet1】データ   A  B C D E  1 あ い う え お 2 か き く け こ 3 あ き く せ そ 4 さ  し す せ そ 5 あ し す け こ 【sheet2】検索 A1を検索条件セルにする ※検索キーはsheet1のA列に登場するテキストのみです。   A  B  C  D  E 1 あ い う え お 2   き く せ そ 3    し す け こ 4 5 ※A2、A3に"あ"と表示されてしまってもよいのですが、  出来れば表示なしが望ましいです。 sheet2のA1は、sheet3に、sheet1のA列に登場したテキストをデータとしてリストしておき、 「データの入力規則」でリストから選択できるようにしようと考えています。 説明が下手でうまく伝わらないかも知れませんが、うまいやり方があれば どうかご教示下さい。 宜しくお願い致します。

  • ExcelのVBAでデータをツリー構造にしたい

    Excelのあるシート「シート1」に親子関係が記されたデータがあります。 列の親には親の名前が、子にはカンマ区切りで所属する子の名前が記されています。 <シート1> 親 子 A1 A2,B1,B2,B3 B1 C5 A2 C1,C2,C4 B2  C1 C2 C3 C4 B3 D1,D3 D1 D2 D3 D2 これを下のシート2のようなツリー構造で親子関係を表現したいです。 1、2、3、4はそれぞれ列で、セルの行と列を変更することで、 ツリーの親子構造を表現します。 <シート2> 1 2 3 4 A1   A2     C1     C2       C3     C4   B1     C5   B2   B3     D1     D3       D2 条件は以下のようになります。 a.シート1の記述順は順不同だが、一番上の行は必ず、一番上の親が来る。 b.一番上の行の親以外は、必ず親を持ちます。逆を言えば、「A1」以外には必ず親が存在し、親をたどると必ず「A1」になります。 そんなに難しくないかとは思うんですが、循環関数を作って考えるのが、今の眠い頭でできなくて…。

  • エクセルでデータを反映させたい。

    エクセルで下記のことをしたいのですが、どのような方法が ありますか?   A B C D E (列) 1 1  a b c d 2 2  e f g h 3 3  i j k l (行) ・他シートにA1の「1」を入れると、B~E列のデータが反映する。 (A列の数字が個人を指すもので、それを選択すると付随するデータ(B~E)も反映するということなんですが・・・。 説明が下手で申し訳ないのですが、どなたか教えて下さい。

  • データ抽出方法

    おはようございます。 sheet1 B列、C列に重複してるデータと、そうでないデータが混在して沢山あります。 sheet2 B列、C列に一点一様の型でデータを抽出したいご伝授下さい sheet1 B列、C列 A-1-1 A A-1-1 A B-2-1 D B-2-2 E C-2-1 B C-2-1 B C-2-3 C sheet2 B列、C列(抽出結果) A-1-1 A B-2-1 D B-2-2 E C-2-1 B C-2-3 C

  • [Excel2000]データの参照と抽出方法

    A列はC列のデータの一部を抽出したものです。 A列のデータと同じデータがC列の中にあったら、すぐ隣のD列のデータを B列に表示させたいです。(C列とD列は隣同士セットになっています。) この場合、関数はどうすればよいですか? 心ある方、ぜひ教えてください。 ◎実行前 (A列) C列) (D列) 1000-1 1000-1 D0001 1002-1 1001-1 E0001 1003-1 1002-1 F0001   ◎実行後 (A列) (B列)  (C列) (D列) 1000-1 D0001  1000-1  D0001 1002-1 F0001  1001-1   E0001

  • エクセル 大量のデータから抽出し自動表示

    エクセルのSheet1のC列に大量(3500件くらい)のデータがあります。このデータは毎日さらに増えます。D列にもおなじだけのデータがあります。 (E列・F列にはあとから別のデータをさらに入力していきます。) Sheet1 A B C D E F     1 2 3 4     2 3 4 5      1 3 5 6     3 5      2 4      ・ ・     ・ ・ こんな感じです。 今回、このC列に入っているデータを検索し、完全に一致したデータのみを別シートに抽出したいのです。 C列にはいろいろな数字が入っていて、同じものもありますが、D列にも同じ数字とは限りません。 なので、VLOOKUPは使用できないのかと思っています。 一致したデータはその行をすべて別シートに抽出したいです。 検索をかけて一致しないデータがあった場合もその検索した数字は残しておいてさらに今後一致になるまでデータを残しておくという方法はできますでしょうか。 エクセルは2003です。 よろしくお願いします。

専門家に質問してみよう