エクセル2000 VLOOKUPとその他のデータ検索、抽出の関数について

このQ&Aのポイント
  • エクセルでのデータ検索や抽出について質問です。特定の条件を満たすデータを抽出するための関数について知りたいです。
  • VLOOKUP関数を使って特定の条件を満たすデータを抽出しようとしていますがうまくいきません。他の関数を使うべきでしょうか?
  • 実現したい結果は、特定の条件を満たすデータを抽出して表形式で表示することです。具体的な例として、○の行にあるB列のデータを抽出して表示したいです。
回答を見る
  • ベストアンサー

excel2000 vlookupその他のデータ検索、抽出の関数について

エクセルについての質問です。   A B  C 1 ○ 佐藤 ■ 2 × 鈴木 3 ○ 後藤 4 △ 近藤 5 △ 小林 6 × 大山 7 △ 大林 8 × 小山 9 ○ 松田 のようなデータがあります。 この中で、■(つまり、C1セル)に、「○」の行にある、B列の文字を返したいのですが、■(つまり、C1セル)に =VLOOKUP("○",$A$1:$B$9,2) と入力し、C10セルまでコピーしても、うまく反映されません。 私がほしい結果としては、 ○  △  × 佐藤 近藤 鈴木 後藤 小林 大山 松田 大林 小山 という具合に抽出したいのです。 とても拙い説明で申し訳ございません。 私がほしい結果と致しましては、上述のとおりでございます。 vlookupとは別の、他の関数を使うべきなのでしょうか? とても困っております・・・。。 どうぞ救いの手を差し伸べてください・・・!!

noname#63142
noname#63142

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

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

一例です。 データをSheet1、Sheet2の1行目に記号があるとします。 Sheet2のA2に次の数式を入力して、縦横にコピーして下さい。 尚、配列数式の為、入力完了時にshift+ctrl+enterキーを同時押下して下さい。 =IF(COUNTIF(Sheet1!$A:$A,A$1)>ROW(A1)-1,INDEX(Sheet1!$B:$B,SMALL(IF(Sheet1!$A$1:$A$100=A$1,ROW(Sheet1!$A$1:$A$100),99999),ROW(A1))),"")

noname#63142
質問者

お礼

ありがとうございます! mu2011様がアドバイスしてくださった数式の意味をまだ理解しきっていませんが、とりあえず反映はうまくいきました!ありがとうございます!!大変助かりました。 まだまだ精進していきたいと思います。これからも宜しくお願いします。

関連するQ&A

  • エクセル 配列数式 #DIV/0!があると反映されない

    話がややこしいかと思うのですが、宜しくお願いします。 以前に、「楽天みんなで解決」のビジネス&キャリアで質問させていただいたことに大して再び質問させていただきたいのです・・。 どうかお力を・・・!! 以前はこんな質問を致しました。 ーーーーーーーーーーーー エクセルについての質問です。   A B  C 1 ○ 佐藤 ■ 2 × 鈴木 3 ○ 後藤 4 △ 近藤 5 △ 小林 6 × 大山 7 △ 大林 8 × 小山 9 ○ 松田 のようなデータがあります。 この中で、■(つまり、C1セル)に、「○」の行にある、B列の文字を返したいのですが、■(つまり、C1セル)に =VLOOKUP("○",$A$1:$B$9,2) と入力し、C10セルまでコピーしても、うまく反映されません。 私がほしい結果としては、 ○  △  × 佐藤 近藤 鈴木 後藤 小林 大山 松田 大林 小山 という具合に抽出したいのです。 ーーーーーーーーーーー この質問にたいする回答といたしまして、 ========== 一例です。 データをSheet1、Sheet2の1行目に記号があるとします。 Sheet2のA2に次の数式を入力して、縦横にコピーして下さい。 尚、配列数式の為、入力完了時にshift+ctrl+enterキーを同時押下して下さい。 =IF(COUNTIF(Sheet1!$A:$A,A$1)>ROW(A1)-1,INDEX(Sheet1!$B:$B,SMALL(IF(Sheet1!$A$1:$A$100=A$1,ROW(Sheet1!$A$1:$A$100),99999),ROW(A1))),"") ========== という回答を頂きました。 一度はこれで解決したのですが、今回また問題が発生してしまったのです。 「○」や「△」の記号や「定価」といった文字ではうまくいくのですが、【#DIV/0!】というエラー値が一個でも入ると、とたんにうまく反映されなくなるのです。 例:前述のデータ表に沿うとします。以下のようにA5セルにエラーが入ると、とたんに全部#DIV/0!となってしまいます。   A   B    1 ○   佐藤  2 ×   鈴木 3 ○   後藤 4 △   近藤 5 #DIV/0! 小林 6 ×   大山 7 △   大林 8 ×   小山 9 ○   松田 <抽出後> ○    △    × #DIV/0! #DIV/0! #DIV/0! #DIV/0! #DIV/0! #DIV/0! #DIV/0! #DIV/0! #DIV/0! 大変困っております・・・。 自分で解決しようものにも、数式の意味が解読できませんでした。。配列数式とはなんぞや、括弧がたくさんあって意味がよくわからず・・。 解決方法をどなたかご教授を!! ついでに、なぜこのような現象がおきてしまうのか、できたら教えていただきたいです・・。

  • EXCEL カンマ区切りされたデータをVlookup関数で処理

    EXCELに関して、教えていただきたいことがあり、 投稿させていただきます。 一つのセル内に・・・ A1,B1,C2 とカンマ区切りされたデータがあり、 それをVlookup関数を利用して、 佐藤さん,田中さん,鈴木さん とカンマ区切りのままで、 データ呼び出し処理をしたいと考えています。 A1,B1,C2の段階でセル分割を行い、一つずつのセルで Vlookup関数を使えば、呼び出すことはできましたが、 扱う件数が多いため、一発処理ができればと考えております。 ご存知の方、教えていただけますでしょうか。 よろしくお願いします。

  • vlookup関数で検索値を含む文字列を検索する方法

    vlookup関数で例えば E1のセルに=vlookup(D1,A:C,3,false)とした場合、D1が佐藤であれば、A列に「佐藤」がある場合には当然、「佐藤」がある行の3列目の値が返されますが、「佐藤」はなく「佐藤A」や「A佐藤」がある場合にもこれらがある行の値を返して欲しいのですが、いい方法はありませんでしょうか。*を使ってできると思ったのですがうまくいきません。上記例で、=vlookup("*佐藤*",A:C,3,false)とすればできますが、*佐藤*の部分はD1の引用を利用したいのです。  よろしくお願いします。

  • excel2003 2列のデータを1列に

    エクセル2003にて 下記のように2列のデータを1列に表示させたいと思っております。 A列  B列              C列 田中 佐藤              田中 鈴木 池田 このように>      鈴木 後藤 内藤              後藤                     佐藤                     池田                     内藤 C列に入れる数式をお教えください。 よろしくお願いします。

  • エクセル(Excel)の部分一致検索[COUNTIFでは無理かな?]

    A列の文字列(データベース)が、B列の個々に一致または部分一致するかをC列に表示させたいと思っています。 COUNTIF($A$1:$A$8,B1) だと、近藤さんと麻生さんは部分一致になりません。 COUNTIF($A$1:$A$8,"*"&B1&"*") だと、近藤さんと麻生さんは逆の不一致となってしまい、佐藤さんは部分一致になってしまいます。 COUNTIF("*"&$A$1&"*":"*"&$A$8&"*",B1) こんな感じが理想なのですが、文法的にはエラーになります。 何か得策は、ありますでしょうか? よろしくお願い致します。   AAAA  BBBB  CCCC  1鈴木一朗 近藤真彦 True 2田中角栄 野村克也 False  3野茂英雄 伊藤     True 4佐藤浩一 鈴木一朗 True 5伊藤     麻生太郎 True 6小林     佐藤     False 7近藤 8麻生

  • Excel関数のifとvlookupの組合せについて

    10月というシートと11月というシートがあります。10月にあるIDが11月にもあるようなら、11月のシートに○をないようなら×を入れるような関数を作ろうと思っています。ifとvlookupを組み合わせたらどうにかなりそうだと思ったのですが、どうも思った結果が出ません。どなたか教えて下さい。 <10月シート>   A  B 1 555 田中  2 666 鈴木 3 777 山本 <11月シート>   A  B  C 1 999 本田 × 2 888 鈴木 × 3 666 鈴木 ○

  • EXCEL関数VLOOKUPで日付検索

    よろしくお願いいたします シート1 セルA(商品)  B(価格)  C(購入日) AAA      200円   2006/02/02 BBB      300円   2007/01/01 CCC      200円 DDD      200円   2005/03/03 シート2 セルA1(シート1の商品名入力) セルA3(購入日表示) 上の様なデーター表があるのですが 上記のやり方で行うと日付がランダムな数字で表示されます 例: 31456、24536など 原因がつかめません。。。 関数は以下の通りです(シート2セルA3) =IF(ISERROR(VLOOKUP(A1,Sheet1!$A$1:$C$60000,3,0)),"",VLOOKUP(A1,Sheet1!$A$1:$C$60000,3,0)) 空白セルがデーターに存在しても上記の関数で回避できると 書いてあったのでやってみたものの 結果を表示するセルには黄色のひし形みたいなものがでます。 クリックしてみると「空白セルを参照しています」との事です。 これが原因で日付エラーが出るのでしょうか? 関数の書き方などもご教授下さい。

  • Excel関数VLOOKUPについて

    ExcelでVLOOKUP関数を使用して顧客コードから 顧客名 顧客住所を表示しようとしていますが 顧客コードがない場合でも顧客コードの近い顧客の データが出ます。    A      B         C          1 顧客コード  顧客名     顧客住所 2 0231234  安部       十日町 3 0331234   佐藤       五日町    4 0431234   山内       入谷      5 0431239   三浦       荒砥      6 0431250   須藤       新井田    D E 1 顧客コード 顧客名 2 0431240   三浦      と出ます E2のセルには =VLOOKUP(D2、A2:C6、2) 顧客コードがない値には顧客名など出ないよう するにはどうしたらいいのかお教えください。

  • エクセルのVLOOKUP関数

    エクセル2003,2007,2010を使っています。 セルA1に「3Z」を、セルC1からC3にそれぞれ「X」,「Y」,「Z」を入力し、セルB1に「=VLOOKUP(A1,C1:C3,1,TRUE)」を入力すると、結果が「#N/A」になってしまいます。 なぜ、検索出来ないのでしょうか? また、セルC3を「3Z」にしても同じく結果が「#N/A」になるのに、さらにセルC2を「2Y」にすると結果が「3Z」となるのですがなぜでしょうか?

  • vlookup関数

    vlookup関数 book1に犬シートと猫シート、結果シートがあるとします。 犬シートのA1セルに"イヌ"というデータがあり、 猫シートのC1~C9セルに"ネコ"、C10セルに"イヌ"というデータがあります。 で、結果シートのA1セルに、 =VLOOKUP(犬!A1,猫!C1:C10,1,FALSE) という関数を入力すれば結果として"イヌ"が表示されると 期待したんですが、#N/Aとなってしまいます。 どうすればいいんでしょうか。