• ベストアンサー

エクセル 検索と抜き出し

エクセル2010を使っています。 関数に詳しくないので、教えて頂けませんか? 画像の様なデータシートがあります。 2行目から40行目まで、画像の様に数字が入っていて、D1に入力された数字【画像では1】をA列から全て検索し、その右のB列の数値をD2から以下に抜き出したいと思います。 黄色で塗りつぶした部分です、(例として数値を表示させています) また同じ形で、E~H列、I~L列と言う風にAF列まであります。 詳しい方、教えて頂けませんか? よろしくお願い致します。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんにちは! No.1さんと同じ方法になりますが、Excel2010をお使いだというコトですので・・・ D2セルに =IFERROR(INDEX(B$1:B$50,SMALL(IF(A$1:A$50=D$1,ROW(A$1:A$50)),ROW(A1))),"") として配列数式です。(Ctrl+Shift+Enterで確定!) この画面からコピー&ペーストする場合は 上記数式をドラッグ&コピー → D2セルを選択 → 数式バー内に貼り付け → そのまま(編集可能なまま) Ctrl+Shiftキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 D2セルのフィルハンドルで下へずぃ~~~!っと下へコピー! 次にD2セルを選択 → セルの四辺のどこでも良いので上下左右の小さな矢印になるところにマウスポインタを移動させ(フィルハンドルではありません) Ctrlキーを押しながらH2セルまでドラッグ これでD2セルの数式がH2セルにコピー&ペーストされましたので H2セルのフィルハンドルで下へコピー! 同様にH2セルの数式をL2セルに・P2・・・ と同じ操作を繰り返します。m(_ _)m

gekikaraou
質問者

お礼

大変わかりやすい回答、ありがとうございます。 助かりました!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

noname#204879
noname#204879
回答No.1

D2: {=IF(ISERROR(SMALL(IF(A$2:A$40=D$1,ROW(A$2:A$40),""),ROW(A1))),"",INDEX(B$2:B$40,SMALL(IF(A$2:A$40=D$1,ROW(A$2:A$40),""),ROW(A1))-1))} (配列数式)

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセル関数の自動表示について

    自動表示についてご質問いたします。 シート1 (3月入力時)       A列  B列  C列  D列  E列  F列  G列  H列 1行目  1月   2  10  11  12  30  31  33 2行目  2月   1   2   5   8   9  10  48 3行目  3月   3   5  10  11  30  31  32 4行目  4月   こういうシート1の表があったとします。 シート1で3月入力した時点で、シート2では以下の表があったとします。        A列  B列  C列  D列  E列  F列  G列   1行目    3   5  10  11  30  31  32 と、自動で表示され。 4月(シート1)に数値を入力すれば、シート2の数値が最新数値に自動で入れ替わる・・・と、いう関数を作りたいのですが、いい関数ありますでしょうか? この場合、シート1ではB列~H列の数字の個数は固定(今回は7個)であり、毎回ランダムで数字が入力されていきます。 これをシート2の1行目、A列~G列に最新数値を毎回反映させて、表示したいのです。 どなたか、ご存知の方よろしくお願いします^^;

  • エクセルの検索する関数について

    エクセルで質問です。 sheet2のA、B列の中から、sheet1のA、B列で同じ組み合わせの数字を探す。同じ組み合わせで見つかれば、sheet1の見つかった列に、D列÷E列の数字をG列に表示する関数の式を教えてください。 関数は不慣れなので宜しくお願いします。

  • エクセルで行から数値を検索し、検索した数値のある列

    エクセルで行から数値を検索し、検索した数値のある列から左側の全ての合計を求めたいです。   A B C D E F 1  3 4 8 9 11 22 ←数字は隙間なくあるが、値がバラバラ(ただし昇順) 2 3  2~6行には色々な数字がまばらにある 4 5 6 1行目から検索したい数→10(別のセルで数式結果として出た数) ズレてるかもしれませんが・・・ E1セルに書かれている「11」の数字より前のD列、 A~D列の2行目~6行目の合計を各行ごとに別々に出していきたいです、どうしたらいいでしょうか また、表は行も列もデータを追加していく予定です

  • エクセルマクロ:空白行を除いてコピー

    マクロで次の作業を処理したいのですが、どのようなコードを書けばよいのでしょうか?教えてください。よろしくお願いします。 ○sheet1 ☆左側 列B~Hをワンセットとしたものが、計51行ある。先頭はタイトル行で9行目である。 D列には固定の文字列が与えられており、E列はブランクで、D・Eともに非表示にしておきたい。 B10~B59には、固定で1~50の数字が順番に与えられている。 C10~C59、G10~G59、H10~H59には数値が、F10~F59には文字列が入力される。 空白の場合もあり、どの行に入力されるかは不明。 ☆右側 列J~Pをワンセットとしたものが、計51行ある。先頭はタイトル行で9行目である。 J10~J59には、固定で51~100の数字が順番に与えられている。 K10~K59、M10~M59、O10~O59、P10~P59には数値が、L10~L59、N10~N59には文字列が入力される。 空白の場合もあり、どの行に入力されるかは不明。 ○sheet2 sheet1のボタンをクリックし、sheet2を表示させ、 sheet1の値を次のようにsheet2に貼付けたい。 sheet2のB8~H107の範囲内で上から、sheet1の左側B10~H59と右側J10~P59の空白を含む行を除いた セット(列B~H、列J~P)のみをコピーし、左側と右側を連続して、値のみ貼付けたい。 ※C列とK列の空白を判定すれば良い ※並べ替えなどのために別シートを置きたくない ※非表示列の扱い方

  • エクセルのマクロについて

    エクセルのシートに A列の10行目から60009行めまで数字が入力されてます。 10行目から110行までの109行目までの100行のなかで 一番小さい数字から8番目に小さい数字までの8個の数値の右横のセル(B列)に 「a」というマークをつけたいのです。 同様に110行目から209行、210行から309行 というふうに59910行目~60009目 までやりたいのですがどうのようにすれば良いでしょうか? 関数で出来るならそれでも良いです。 教えていただけませんでしょうか? よろしくお願いします。

  • Excel 2000 で近似値を取得する方法

    1行目がタイトル、2行目から数値のデータがA列~E列まで500行ほどあります。 D列は小数点第3位までの数値が並んでいます。 E列には0から始まって100まで偶数が並んでいます。 E列の数値に一番近い値をもつD列のデータをみて、A列とB列のデータを別シートに書き出したいのですが、 上手くいきません。 試して駄目だった方法は、 VLOOKUP関数:0.815と2.015の場合、2.015の値を取得したいのに0.815のデータになる。 EVEN関数:0.×××が沢山並ぶ場合2になるので比較ができない。 なにか関数で上手く組み合わせてできる方法は無いでしょうか? また、VBAでも可能であれば方法をご教示下さい。 お願いいたします。

  • エクセル2007 ハイパーリンクについて

    シート名は4月だとした時   A   B    C      D  E F G H I J K L M 6  1  田中  港区    1000 7  2  佐藤  品川区   2000 8  3  高橋  江戸川区  3000 9  4  井上  荒川区   4000 10  5  山田  練馬区 と行も列も沢山ある表とします A列には1~順番に数字が入ってますので検索の基準にしたい。 表が大きいので A列を基準としてvlookup関数で検索しジャンプする式を作成したいのですが うまく出来ません 検索する数字をH2にいれた時H3をクリックするとその行に飛ぶ関数を教えて下さい。 =hyperlink(vlookup,h2,a1:a8000,2,false) と入力してもエラーになります。 確かに右クリックでハイパーリンク作成でA1とした場合(book1-sheet1!A1)と 直接入力 =hyperlink("sheet1!A1) では表示される数式が違います 上記数式では駄目と分かりますがどうすればよいのか私の知識では無理です どなたか教えて下さい

  • EXCELのシート間コピーについて教えてください!

    いつもお世話になります。 また、皆様のお知恵をお貸しください。 ブックにSHEET(1)とSHEET(2)があります。 SHEET(1)のD列の1行目から300行程度まで文字列が入力されております。 下記の作業をSHEET(1)のD列の文字列が終了するまでマクロ等を使って自動化したいです。 1    SHEET(2)のD列の1行目から12行目までの文字列をSHEET(2)のB1,B4,B7,B10,E1,E4,E7,E10,H1,H4,H7,H10の順にコピー 2   印刷 3   SHEET(2)のD列の13行目から24行目までの文字列をSHEET(2)のB1,B4,B7,B10,E1,E4,E7,E10,H1,H4,H7,H10の順にコピー 4   印刷 よろしくお願いします。

  • エクセルで

    エクセルで、 VLOOKUP関数を使って、シート2枚目と数字が一致する物に関して、 抜き出して行こうと思っています。 でも完全一致ではなく例えば、 2170610105186 の数値を左2行右1行消した数字(7061010518)がシート2枚目の一致しているのを 探そうとする場合、関数を合わせることによってセルを抜き出すことはできるでしょうか? 誰か知っていれば教えてくださーい。

  • エクセルで、検索したセルの下の行を出したいときは?

    たとえば、一つのシートに数字が入った表があるとして(シート1)、 隣のシート(シート2)でA1のセルに数値が入るとシート1から 同じ数値を探し出す(作業しているのはB1)。 その探し出したセルの下の行にあるものを出したいのですが、 その方法がわかりません。関数の数式の中で、 ”+1行”とか、”+1列”というのは、 どういった入力をすればいいのでしょうか? ちょっと説明がうまくできないので、伝わりづらいと 思いますが、補足していきますので、よろしくお願いします。

専門家に質問してみよう