• ベストアンサー

エクセル、複数あるデータを順番にピックアップする方法

すみません、教えてください。 下記のようなデータの中から、たとえばC行の中から”りんご”に当てはまるデータを検索し、その列のA行とB行を抽出したいとすると、どのような方法がありますでしょうか。 別の空のシートに抽出したいのですが、よくわかりません。 よろしくご教授ください。お願い致します。 【元データ】     列A   列B   列C   列D   … 列1  八百丸  渋谷区  りんご  100 列2  八百吉  港 区  みかん  80 列3  八百屋  新宿区  か き  100 列4  八百正  新宿区  りんご  200 【求めたい検索結果】 八百丸 渋谷区 八百正 新宿区

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

元データがSheet1にあるとします。 別シートのA1セルに「りんご」を入力して、適当なセルに以下の式を貼り付けて右、下方向にコピー。ただし元データは10行までにしていますので実際のデータに合わせて範囲の変更(Sheet1!$C$1:$C$10)の変更が必要です =INDEX(Sheet1!A:A,SMALL(INDEX(SUBSTITUTE((Sheet1!$C$1:$C$10=$A$1)*1,0,10^5)*ROW(Sheet1!$C$1:$C$10),),ROW(A1))) もしくは =INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$10=$A$1)*ROW(Sheet1!$C$1:$C$10),),COUNTIF(Sheet1!$C$1:$C$10,$A$1)-ROW(A1)+1)) ただしこの式では参照するデータがなくなるとエラーになります。エラーが出ないようにするなら条件判定を追加して =IF(COUNTIF(Sheet1!$C$1:$C$10,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,SMALL(INDEX(SUBSTITUTE((Sheet1!$C$1:$C$10=$A$1)*1,0,10^5)*ROW(Sheet1!$C$1:$C$10),),ROW(A1))),"") になります。

perikan2
質問者

お礼

ありがとうございます! 早速試してみます!まずは取り急ぎお礼まで。 まったく思いつかない関数でした。本当に助かります。

その他の回答 (3)

  • nobu-
  • ベストアンサー率33% (31/93)
回答No.4

no1です。 >「抽出範囲」あたりがちょっと微妙 「抽出したいシート」の「抽出したい場所」(例えば10行目以降)の先頭行にフィールド名をコピーして置き(2のところで、列Aを「店名」、列Bを「区」とすると例えば「店名」、「区」を事前にA10、B10等に貼り付けておく) 「抽出範囲」のところで、A10とB10を範囲指定します。

perikan2
質問者

お礼

おぉ~、なるほど。。。 これを覚えて活用できるようになればいろいろ応用が利きそうですね。 ご教授ありがとうございました。 今回は、取り急ぎの処理業務でしたので、No.2様の式をそのままコピペさせていただきましたが、皆さん丁寧に教えてくださったので、点数をつけるのがしのびなかったです。ありがとうございました。

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

「imogasi方式」でWEB照会してください。 OKWAVEの質問の回答ばかりで、私の回答が出ますが、他の方の回答も あわせて出ます。昨日も同様の質問がありました。

perikan2
質問者

お礼

ありがとうございます! 早速見させていただきます。 本当に助かります。

  • nobu-
  • ベストアンサー率33% (31/93)
回答No.1

>別の空のシートに抽出したい 1.抽出したいシートにまず条件を記入します。 列C(実際は、フィールド名) りんご 2.先に抽出したいフィールドを作成しておきます。 列A、列B(実際は、フィールド名) 3.抽出したいシートの条件を書いた場所をクリックし、(1のところ)メニューの「データ」の「フィルタ」の「フィルタオプション」をクリックします。 4.「リスト範囲」で。実際のデータが入っているシートのデータを範囲指定し、「検索条件範囲」で、1.の条件を範囲指定します。 5.「抽出範囲」で、2.のフィールドを範囲指定し、「OK」を押します(何もないところをクリックすると全フィールドが出るのでココが大事) いかがでしょうか?

perikan2
質問者

お礼

ありがとうございます! 「抽出範囲」あたりがちょっと微妙なので(私の理解度が)、頑張ってやってみます。また質問させていただくことがあるかも知れませんがよろしくお願いします。

関連するQ&A

  • Excel2003 複数の条件を満たすデータを抽出する関数を教えて下さ

    Excel2003 複数の条件を満たすデータを抽出する関数を教えて下さい! 下のデータで、A列でB、B列で赤を選んだ人は「みかん」という「みかん」を抽出する関数を教えて頂けませんでしょうか? データシートとは別に集計シートを作成しています。 お忙しい中恐れ入りますが、ご教示下さいますようお願い申し上げます。。。 ●データ A B C 1 A 赤 みかん 2 B 赤 りんご 3 C 白 いちご 4 B 青 いちご 5 D 赤 みかん 6 A 青 みかん 7 C 黄 りんご 8 E 赤 バナナ

  • エクセル詳しい方おしえてください

    ABC列にデータを入力して全ての列に入っているデータのみ抽出するにはどうしたらいいですか 例 A B C りんご みかん りんご みかん バナナ みかん バナナ →この場合抽出結果をみかん としたいです 列の表示がずれますがなんとなくでみてくださいm(_ _)m よろしくおねがいします

  • excel関数 間違ったデータをピックアップしたい

    列Aの各セルに、みかn、りんご、バナナ、メロンなどと入っていて、列Bの各セルは、"A"~"F"の人気ランクが入っています。 列A   列B   みかん  A りんご  C バナナ  D みかん  A メロン  C 列C以降にはその他の色々なデータが入っていますが、それはさておき、列AとBだけの関係を見ると、みかんは必ず"A"、りんごは必ず"C"というように、果物別の評価は決まっているはずです。ところが、間違って入力されて、ある行ではみかんが"A"で、別の行ではみかんが"C"だったりしたら、調べて正しい方に統一したいのです。 そこで、ひとつの果物に対応する評価が複数あるものをピックアップしたいのですが、どうすればいいでしょうか。そのほかの集計作業に関数を使っているので、これも関数で出来ればいいかなと思うのですが。

  • エクセル関数 データの抽出について

    エクセル2010 重複データの抽出。 重複データの抽出方法をご教示ください。 抽出先はシート1のA列A3~抽出データの分だけ リストはシート2のB2:AB32まで フィルターオプションなども使ってみたのですが どうも上手くいきません。 どなたか知恵をお貸しください。 方法はできれば関数だといいのですが(データが増えてもいいように) できなければ他の方法でもいいです。 VBAなどは全くの初心者なので出来れば避けたいのですが… シート2     A    B   C    D~AB32 1  "" 2 いちご ばなな いちご りんご 3 みかん いちご ばなな いちご 4 りんご ばなな いちご みかん 5 みかん いちご ばなな りんご 6 ばなな ばなな りんご いちご : : 32 シート1(重複データなし)  A 1  "" 2  "" 3 いちご 4 みかん 5 りんご 6 ばなな 7 : : 抽出リストのデータはシート2のB2:AB32にぎっしり入っています。 宜しくお願い致します。

  • EXCEL セル内のデータを置き換えたい

    うまく説明できないのですが、 Sheet1のA列とB列に、1つのセルに複数のデータが以下のように入っています。(データの間に「,」があります。)     A列             B列 1行 6599A,6599B,6599C  6599A 2行 6599B,6599C      3行              6599A,6599C これは商品コードでして、Sheet2に明細があります。 A列    B列 りんご  6599A メロン   6599B みかん  6599B Sheet1のデータを、「りんご」「メロン」「みかん」に置き換えたいのです。 データの数が、たくさんあるので、コピー、ペーストでは対応できません。 よい方法をお教えください。よろしくお願いいたします。

  • エクセル関数で、2列の情報を1列に順番に並べたい

    以下の元データのようにA~D列にある情報を、 下方のE列、F列にあるように情報を合わせて表示したい場合、 E列、F列にはどのような関数を入れたらよいでしょうか。 COUNTIFやVLOOKUP関数を試してみましたが、 うまく順番に並べることができず途方に暮れています。。。 どなたかお知恵がある方、マクロではなく関数で 教えていただけたらありがたいです。 ※A列はB列の情報番号、C列はD列の情報番号です。 ↓元データ↓ A  B    C   D 1 みかん  1 あ 1 みかん  2 い 1 みかん  3 う 2 りんご   4 え 2 りんご   5 お 3 すいか  6 か 3 すいか  7 き 3 すいか  8 く 3 すいか  9 け ↓このようにしたいです。↓ A  B    C  D   E  F 1 みかん  1  あ    1  みかん 1 みかん  2  い    1  あ 1 みかん  3  う    2  い 2 りんご   4  え    3  う 2 りんご   5  お    2  りんご 3 すいか  6  か    4  え 3 すいか  7  き    5  お 3 すいか  8  く     3  すいか 3 すいか  9  け    6  か                 7  き                 8  く                  9  け 何とぞよろしくお願いします。

  • エクセルのデータ抽出について何かいい方法はありますか?

    表示がずれてしまってわかりにくいと思いますが(ToT)例えば…     A     B      C     ←列の番号 1   1    りんご    2月 2       いちご    4月 3   2   つくし    3月 4       かぼちゃ   8月 5     みかん    2月 6   3   かき     9月 7   4   もち     2月 8       すいか    8月   ↑ 行の番号      ・     ・     ・ というデータでは、Aのセルに入ってる数字…例えば「1」だとりんごといちごのデータで"ひとかたまり"を表しているとした場合、A列のセルに数字の入っている行のC列の部分が「2月」の"ひとかたまりデータ"を抽出したい場合どのようにしたら良いでしょうか? ちなみに上記の例だと、こうなるようにしたいです。↓    A    B      C 1   1   りんご    2月 2      いちご    4月 7   4   もち     2月 8       すいか    8月 こういったことはできるものなのでしょうか…(><)なにとぞよろしくお願いいたします

  • 【エクセル】表から条件に合ったデータを別シートに順番に抽出したい

    エクセルの表である条件にあてはまる行を 別シートに順番に抽出されるような関数を教えてください。 シート1のB列にあるデータが"渋谷区"のとき シート2のE74からE80くらいまでに シート1のC列のデータを上から順に抽出されるようにしたいです。 【シート1】 A        B         C 1 東京都 渋谷区  PC 2東京都  港区  PC 3東京都 新宿区  マウス 4東京都 渋谷区  ペン 5東京都 渋谷区  モニタ ・ ・ ・ 10 【シート2】 E 74 PC 75 ペン 76 モニタ ・ ・ ・ 80  【補足】 元の表(シート1)を編集することがあるので 自動的に反映されるよう、関数で作成できたらと思います。 シート2の構成上、抽出後のソートや、フィルタオプションは避けたいです。 わかりづらい文章で申し訳ございませんが どなたかいいアドバイスがありましたら教えてください。 お礼は明日になってしまいますが、必ずご返答いたします。 よろしくお願いいたします。  

  • エクセルでデータの検索

    現在 sheet1に A列 B列  C列 あ い う え お と入力されています Sheet2には A列 B列 あ りんご い ばなな あ みかん う うめ い なし と入力されています。 sheet1のA列を検索条件として A列と一致するsheet2にあるものをその横の列に表示されるようにしたいです。 A列 B列   C列 あ りんご  みかん い ばなな  なし う うめ このような場合、一致するものは複数あるため VLOOKUPは使用できません。 どのようにすれば、このような検索ができるのでしょうか?

  • EXCEL 集計の方法

    おせわになります。 EXCELにあるデータを集計したいのですが、「集計」機能では対応できませんので、何か良い方法がありましたらお知らせくださいますようお願いいたします。 ------------------------------------------ A列    B列  C列 ○○会社 りんご 1500円 ○○会社 みかん 1000円 ○○会社 みかん 1000円 △△会社 りんご 1500円 △△会社 みかん 1000円 ------------------------------------------ というデータがあったとします。 今回はB列ごとに集計するのではなく、 A列ごと、B列ごとの集計です。 つまり、 ○○会社 りんご1500円 ○○会社 みかん2000円 と、いうことです。 何かよい方法はありますでしょうか? よろしくおねがいします。    

専門家に質問してみよう