• ベストアンサー

エクセルで2つの条件からデータ抽出方法

エクセルで、2つの列の合致する部分のデータを簡単に取り出したいのですが、よい方法はありませんか?今は表を追って必要部分のデータを書きだしているのですが・・・。        4月5月6月7月8月9月10月11月12月1月2月3月 1グループ 8 5 6 1 2 3 3 2 8 2 3 1 2グループ 1 5 2 3 4 4 5 2 1 8 9 2 3グループ 3 4 5 2 2 1 1 7 9 3 6 5   上記の表の中から、1グループの12月のデータ8を取り出す場合、それぞれの列を追っていき、交差部分を見ますが、それを、別のセルに○グループ○月と入れれば、上記表の該当数値がぱっと出る方法はないでしょうか??   上記表のグループと月のそれぞれの数字をうまく対応させた表を作れず、見にくくてすみません・・・。 よろしくお願いいたします!!

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

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

こんばんは! 参考になるかどうか分かりませんが・・・ ↓の画像のように表を作ってみました。 B7セルには =IF(OR(A7="",B6=""),"",INDEX(B2:M4,MATCH(A7,A2:A4,0),MATCH(B6,B1:M1,0))) という数式が入っています。 尚、この場合月の部分は○月と入力しなければならないので データの月の部分が数値だけであれば、B6セルも数値だけの入力で済みます。 これで希望に近い形になるでしょうか? 以上、参考になれば幸いです。m(__)m

m03a
質問者

お礼

画像付きで丁寧に教えていただき、ありがとうございました!!おかげで求めていたものが作れました!!時間短縮になる上に正確な数値を導きだせるようになり、本当に助かりました。 また、B6セルとデータの月の部分を数字に変えるだけで、確かに入力がとても簡単になりました!! 本当にありがとうございました。

その他の回答 (3)

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

答えは既に出ているが、要点は (1)Match関数で、第1引数で例えば「2グループ」と言う文字列を指定し、A列の何行目に有るか知る(y) (2)同じくMatch関数で、第1引数で例えば「12月」と言う文字列を指定し、第1行目の何列目に有るか知る(X) (3)x、yの値を使って=INDEX($a$1:$M$100,y,x)で交叉するセルの値が取れる。 まづ具体的な値(2グループなど)を入手入力で関数式に入れててテストして(1)(2)(3)を実感すること。 その後具体的な文字列や数値でなく、データの有るセル番地や数値を出す関数式に、式の引数を置き換えて完成形にすること(勉強のコツ)。 ーー 文字列といったが、実際はその文字列の入ったセル番地を指定。 INDEX関数の、Y,Xの位置には(1)(2)のMATCH関数の式を埋め込む。 ーー INDEX関数とMATCH関数の組み合わせは。事務でエクセル利用の場合は常識ですよ。この課題から外れて、どういう課題なら出来て、関数でどういう組み合わせの使い方があるのか、改めてエクセル関数の概説書を見直すこと。関数解説書も通読してない感じ。

m03a
質問者

お礼

MATCH関数とINDEX関数について一つずつ教えていただき、ありがとうございました!!どちらも使用したことがなかったので、数式を見ても全く分かりませんでしたが、(1)、(2)、(3)で具体的な値を入れて練習してみると、該当番地のセルの数値が現れて、なんとなくそれぞれの関数の特徴が分かったような気がします…。まだピンときてはいませんが、練習をしてマスターできるように頑張ります!!

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

例の表がA1:M4にあるとして A6="1グループ",B6="12月"として =INDEX(B2:M4,MATCH(A6,A2:A4,0),MATCH(B6,B1:M1,0)) または =OFFSET($A$1,MATCH(A6,A2:A4,0),MATCH(B6,B1:M1,0)) または =VLOOKUP(A6,A2:M4,MATCH(B6,B1:M1,0)+1,FALSE) または =HLOOKUP(B6,B1:M4,MATCH(A6,A2:A4,0)+1,FALSE)

m03a
質問者

お礼

回答ありがとうございました。2つの条件から1つの値を抽出するのに、こんなに色々な方法があるのですね!!今後の参考にさせていただきます。

回答No.2

=INDEX(A1:D13,MATCH("○グループ",A1:A4,0),MATCH("○月",A1:A13,0))

m03a
質問者

お礼

回答ありがとうございました。参考にさせていただきます。

関連するQ&A