• ベストアンサー
  • すぐに回答を!

エクセルでのデータ抽出について

こんにちは!関数初心者です・・・。 どうしてもできなくて教えていただきたいのですが、たくさんのデータの中から一致するデータを表示したいのです。 下記のようなデータがあったとき、検索する文字列を入れるセルをA1とします。検索結果をB1に表示したいのです。 たとえば品目にある「鉛筆」の商品ID「AA-001」を探したいとき、セルA1に「鉛筆」と入力したら、セルB1に「AA-001」と表示したいのですが、どうしてもうまくいきません。 商品ID 業者NO 科目 品目 単価 AA-001 スズキ100 文具 鉛筆 100 AA-002 スズキ200 文具 ノート 200 BB-001 タナカ100 食品 卵 100 BB-002 タナカ200 食品 チーズ 200 CC-001 サトウ100 衣類 シャツ 100 CC-002 サトウ200 衣類 スーツ 200 どなたかおわかりになりましたら教えてください!! よろしくお願いいたします!

共感・応援の気持ちを伝えよう!

  • 回答数5
  • 閲覧数57
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.2
  • mu2011
  • ベストアンサー率38% (1910/4994)

一例です。 データをsheet1として、sheet2のA1に品目名、B1に抽出結果を表示します。 =IF(COUNTIF(sheet1!D:D,A1),INDEX(Sheet1!A:A,MATCH(A1,Sheet1!D:D,0)),"")

共感・感謝の気持ちを伝えよう!

質問者からのお礼

できました!ありがとうございました! 急いで作成しなくてはいけなくて、勉強する暇もなく、関数に無知な私は本当に悩んでいました。。。ありがとうございました!

関連するQ&A

  • エクセルでの商品管理データベース作成

    エクセルで商品管理のデータベース作成にチャレンジしようと思っています。(vista、excel2007の環境です) 「商品データベース.xls」と「当月.xls」という2つのブックを作成し、「商品データベース.xls」には下記のようにし常に新しい商品が入ったら追加をしていきます。 入力のデータはこんな感じです↓ 商品ID 業者NO 科目 品目 単価 AA-001 スズキ100 文具 鉛筆 100 AA-002 スズキ200 文具 ノート 200 BB-001 タナカ100 食品 卵 100 BB-002 タナカ200 食品 チーズ 200 CC-001 サトウ100 衣類 シャツ 100 CC-002 サトウ200 衣類 スーツ 200 これを「当月.xls」という別のブックに、商品IDをキーにしてデータを抽出したいのです。 抽出したデータはこんな感じです↓ 商品ID 業者NO 科目 品目 単価 前月残 当月残 AA-001 スズキ100 文具 鉛筆 100 50 30 BB-001 タナカ100 食品 卵 100 40 20 CC-001 サトウ100 衣類 シャツ 100 30 10 前月残と当月残のセルのデータは、手入力します。 本当はデータベースのソフトを購入したいのですが、会社から許可が下りずなんとかエクセルでできる方法がないか調べています。 また、抽出したデータに「当月.xls」のデータにオートフィルタをかけてデータを絞り込むことは可能でしょうか? どなたか、教えてください!!お願いします!!

  • Excelのマクロを作ってもらえますか?

    こんにちは。 エクセルのマクロで、Sheet1に転々と 入力されているデータを すべてA1の列へ統一して並べ替え(2) 同じデータの数を計算してB2へ記述する(3)などという マクロができるなら作っていただけないでしょうか? もし、数の入った行のみ残して削除までできれば最良なの ですが(4) (2) AA-20 AA-20 AA-20 BB-30 CC-30 CC-30 CC-30 (3) AA-20   3 AA-20 AA-20 BB-30   1 CC-30   3 CC-30 CC-30 (4) AA-20   3 BB-30   1 CC-30   3 このようになのですが、 お時間のあるときで結構ですので宜しくお願いします。

  • エクセルで複数列を二列にまとめる

    エクセルのデータ成形に、知恵を貸していただけますでしょうか・・・ エクセルで以下のようなデータがあります(例では8行8列) コードは本当はランダムです。 #と右下の部分は空白セルです。横には数字、コード、数字、コードの並びで、数字は一行目のみです。 1 aa-1 2 bb-1 3 cc-1 4 dd-1 # aa-2 # bb-2 # cc-2 # dd-2 # aa-3 # bb-3 # cc-3 # aa-4 # bb-4 # aa-5 # bb-5 # aa-6 # aa-7 # aa-8 これらを 1 aa-1 1 aa-2 1 aa-3 . . 2 bb-1 2 bb-2 . . 4 dd-2 というように 1. 複数の列を2列ずつのグループで2列にまとめ 2. それぞれのグループごとに各コードの左のセルにグループの数字をつけたい   (どのコード(aa-1など)がどの数字グループなのか分かるように) と思っています。 なにかいい方法はありますでしょうか。 調べてはみたのですが、 複数列を一列ではなく、二列ずつまとめていることや、 各列の長さが一様ではないことなどから 各所で紹介されている方法が適用できないでおります。 VBAもほとんど使ったことがないので、それらを応用できません。 どうぞ知恵を貸していただけたらと思います。 よろしくお願い致します。

その他の回答 (4)

  • 回答No.5

品目の列を昇順に並び替えれば、LOOKUP関数を使うこともできます。

共感・感謝の気持ちを伝えよう!

  • 回答No.4
  • imogasi
  • ベストアンサー率27% (4558/16318)

>どうしてもうまくいきません。 エクセルでの「検索」(=存在する行を見つける)は 1つしか該当が無いことが保証されて確実な場合は VLOOKUP か MATCH (その他VBAもあるが) のどちらを使うしかないと言う単純なものです。 何を勉強してたのですか。IF関数ですか。 ーー ただしVLOOKUPは探す列が最左列で無いと使えないというものです。 従ってMATCH関数しかありません。 これで行を求めて、その同じ行の別列のせルの値は INDEX か OFFSET 関数で求めます。 INDEXは既回答なので、OFFSETで ーー 例データ A1:C3 a1x b2y c3z F1に  y(探すものを入力) 式 =OFFSET($A$1,MATCH(F1,$C$1:$C$3,0)-1,0) OFFSET 関数の第2、第3引数は、A1セルからの「ずれ」で記述しますので、-1した値で示します。 結果 b ーー 以上は定石で>どなたかおわかりになりましたら教えてください・・ といった大層なものではないのですよ。 ーー 該当が、1列に2つ以上あるのを引き出してくる質問も多いが、こちらは上記のように簡単ではない。参考に。

共感・感謝の気持ちを伝えよう!

  • 回答No.3

VLOOKUP関数では、左端を検索するので出来なかったとの事ですか? 品目に重複はないものとして   A   B  C   D  E  F 商品ID 業者  NO 科目 品目 単価 AA-001 スズキ 100 文具 鉛筆  100 AA-002 スズキ 200 文具 ノート 200 ・・・・ 別シートのA1に 鉛筆 と入れてあったとして B1に =INDEX(商品シート!A:A,MATCH($A1,商品シート!$E:$E,FALSE)) といれて右へコピィしてみてください。 エラー処理なしです。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

できました!ありがとうございました! 急いで作成しなくてはいけなくて、勉強する暇もなく、関数に無知な私は本当に悩んでいました。。。ありがとうございました!

  • 回答No.1

VLOOKUPでの抽出でしょうか。 VLOOKUPでの検索文字列は一番左側の列でないとエラーになります。 この場合、品目が一番左側でないとだめです。 http://exinfo.biz/func/func_vlookup.shtml

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • EXCEL抽出?についてご指導ください。

    シート1にあるデータをシート2に抽出したいのですが・・・ シート1にあるデータの2列目と3行目で交差する「A」を シート2のA1セルに「2」A2セルに「3」と入力すると 指定したセル(たとえばB1セルに「A」と表示(抽出)させたいのですが、ご存知の方教えていただけませんか? (シート1)   1 2 3 4 5 1 2 3    A 4 (シート2)   A  B  C 1 2  A 2 3 3 よろしくお願いします。

  • Excelの関数?で困っています。

    Excelの関数?で困っています。 こんにちは。Excel2007を使用しています。 セルの中にある特定の文字が含まれている場合は、ある文字の後ろの数値を抽出するということはできますか? 例えば、セルA1に『AA-11 $100.00』、A2に『BB $ 95.00』と入力されている場合、『AAという文字が含まれている場合はB1に$マークの後ろの数値を抽出、BBという文字が含まれている場合はC1に$マークの後ろの数値を抽出する』というものを関数などを使用して作ることはできるのでしょうか? もしできるのであれば、ぜひご教示ください。 宜しくお願いします。

  • エクセルVBAを使ってデータの抽出をしたいのですが

    タンク容量のデータベースがあります。(以下のような)    A   B   C......←タンクNo 0  100  200  500 ..... 2  90  180  460  ...... 4  80  160   420  ..... 6   70  140   400 .....  ・ ・ ・ ↑タンク上部からの空寸 このようなデータからたとえば、タンクBの160は空寸が4ですが、この空寸4を抽出するにはどうすればいいのか教えてください。 ちなみに、データはシート2にあり、シート1のA1セルにタンクN0、B1セルに容量を入力し、コマンドボタンを押すとC1セルに対応する空寸がでるようにしたいのですが。。 また、容量はぴったり一致するときもありますが、無いときは最も近い値の空寸を持ってきたいのです。 どうか、よろしくお願いします。

  • Excel シート間のデータ抽出と置き換え

    AとBのシートを比較して、 Aと同じ単語のあるセルがBにもあった場合には、 該当単語のある行から、特定セルの内容を、 Bのシートの該当行(同単語のある行)の特定場所にコピーする。 説明がヘタですみません。 例を挙げますと、 <Aのシート> A1:あ B1:Goo A2:い B2:Yahoo A3:う B3:Google <Bのシート> A1:あ B1:データなし A2:か B2:データなし A3:さ B3:データなし この様な場合、 AシートA1のデータ"あ"は、BシートのA1にもありますので、 その場合には、B1データの"Goo"を BシートのB1にコピーし <Bのシート> A1:あ B1:Goo A2:か B2:データなし A3:さ B3:データなし と、なるようすることを関数だけで行うことは可能なのでしょうか。 自分なりに色々調べてみたのですが、該当例を探すことができませんでした。 ご存知の方がいらっしゃいましたらご教授ください。 補足説明といたしまして、 データは全て文字です。 B1のシート内で検索データが重複することはありません。 検索語(検索対象語)の文字列にスペース(半角・全角共)含まれていた場合 そのスペースは検索対象から除外(無視)して認識する。 検索語は複数あります。 できれば、一括で行いたいのですが、それですとVBAでないと無理でしょうか。 宜しくお願いいたします。 教えてGooさんの枠を超えた質問であれば申し訳ありません。

  • Excelの文字列関数について

    Excelの文字列関数について こんにちは。Excel2007を使用しています。 先日、こちらで質問させていただいた【QNo.5785641】の続きになるのですが・・・ セルの中にある特定の文字が含まれている場合は、ある文字の後ろの数値を抽出したいという質問で、 例えば、セルA1に『AA-11 $100.00』、A2に『BB $ 95.00』と入力されている場合、『AAという文字が含まれている場合はB1に$マークの後ろの数値を抽出、BBという文字が含まれている場合はC1に$マークの後ろの数値を抽出する』というものを関数を使用して作りたいというものに対し、 =IF(COUNTIF(A1,"*AA*")=1,RIGHT(A1,LEN(A1)-FIND("$",A1)),"") =IF(COUNTIF(A1,"*BB*")=1,RIGHT(A1,LEN(A1)-FIND("$",A1)),"") という回答をいただきましたが、さらに追加で質問です。 例えば、セルA1に『AA-11 $100.00 aabbcc』、A2に『BB $ 95.00 abc』というように、抽出したい数値の後ろにも文字が入力されている場合はどのようにしたらよいのでしょうか? 宜しくお願いします。

  • エクセルで、2種類のデータを交互に入れなおす方法はありますでしょうか??

    いつもお世話になっております^ ^ エクセルで、2種類のデータを 交互に入れなおす方法はありますでしょうか?? 各データは10000以上あります。 例)データAの数列     1     2     3     4   データBの数列     5     6     7     8   の場合、次のように   数字を交互に並べたいのであります。     1(Aのデータ)     5(Bのデータ)      2(Aのデータ)     6(Bのデータ)     3(Aのデータ)     7(Bのデータ)     4(Aのデータ)     8(Bのデータ)  データAの数列がA1セル~A10000セル以上にあり、 データBの数列がB1セル~B10000セル以上にあります。 CセルにデータAとBを交互に入れなおしたデータを 表示したいと思っております。 文章が稚拙ですので、 説明不足などありましたら、 ご指摘下さい! どなたか知識を分けていただけませんでしょうか? よろしくお願い致しますm(_ _)m

  • 【エクセル】空のデータをデータ参照したら0で表示される

    セルA1のデータが空の場合それを他のセルで参照した場合、『0』と言う値が返ってきます。 例えば、  セルA1""  セルA2"0" とします。A1は空のデータ。A2は0と言う値が入っています。 これを他のセルで参照すると、 セルB1"=A1" セルB2"=A2" B1、B2のセルの値は両方とも同じ0になります。 A1とA2は値が違うので、セルB1のデータ値を空にする方法はありますでしょうか。調べたのですがわかりませんでした。方法は、エクセル関数やマクロ、VBA何でも構いません。回答お願い致します。

  • エクセル プルダウンリスト選択し、別のセルにデータを自動入力

    こんにちは。 変なタイトルになってしまってすみません。 例えば、商品名 鉛筆 消しゴム 修正液 というような、商品名プルダウンリストの内容がセルA1に 入っていたと仮定します。そして鉛筆を選択した時、セルB1に鉛筆の単価の数字(100円)が自動的に入るようにしたいです。 同じように、消しゴムを選択したら、別のセルに自動的に 消しゴムの単価が自動的に入るようにしたいのですが、何か 良い方法はないですか? どうぞ宜しくお願いいたします。

  • エクセルで、書式+データーの貼り付け方法

    Excelのバージョン:2000 セルA1をB1に貼り付ける場合、A1で右クリックしコピー、B1で右クリックし貼り付けでデーターと書式が貼り付けられる。 また、B1に=A1 リターンキーで、データーは貼り付けられるが塗るつぶしがなどの書式は張り付かない。 関数などいろいろ探したが良い方法が見つかりません。 データーと書式共に貼り付ける良い方法を教えてください。

  • 抽出データのコピー

    OFFICE2016 AAのシートのA列を1件ずつ参照し、BBのシートでそれぞれに対応するデータを抽出し、CCのシートへコピーするマクロを作成していますが、 抽出したデータをコピーした後に保存すると、容量がものすごく大きくなっています。 原因は、コピー後にCCのシートが最終行まで使用されている状態になっているから。 下記は作成途中のマクロです Sub TEST() ' Sheets("CC").Select Cells.Select Selection.ClearContents Dim i As Long i = 1 Dim M As String M = Worksheets("AA").Cells(i, 1).Value Sheets("BB").Select Worksheets("BB").Range("A1").CurrentRegion.AutoFilter Field:=1, Criteria1:=M Columns("A:C").SpecialCells(xlCellTypeVisible).copy Worksheets("CC").Range("B1").PasteSpecial Paste:=xlPasteAll Application.CutCopyMode = False ' Worksheets("BB").Range("A1").CurrentRegion.AutoFilter End Sub 何が原因なのでしょう? また、その解消法教えていただきたく、よろしくお願いします。