- ベストアンサー
エクセルで検索の関数を教えてください
A B C D E F 自営 種別 積載 1月 2月 3月 1 自 乗用 1 3000 6000 9000 2 自 トラック 5 5000 1000 8000 3 自 トラック 6 4000 8000 9000 4 営 乗用 1 2000 3000 5000 5 営 トラック 5 7000 8000 9000 6 営 トラック 6 8000 6000 5000 この元表から別の表で、自営・種別・積載を選び、尚且つ何月かを選び、数値を抽出したいのですが、うまくいきません。 どなたか教えて下さい。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
一例です。 表範囲をシート1のA1:F7、シート2のA1:A4に条件としています。 =OFFSET(Sheet1!$A$1,SUMPRODUCT((Sheet1!A1:A7=A1)*(Sheet1!B1:B7=A2)*(Sheet1!C1:C7=A3)*ROW(Sheet1!A1:A7))-1,MATCH(A4,Sheet1!A1:F1,0)-1)
その他の回答 (4)
- sige1701
- ベストアンサー率28% (74/260)
こんな感じかな =INDEX(D2:F7,MATCH("自トラック5",INDEX(A2:A7&B2:B7&C2:C7,),0),MATCH("1月",D1:F1,0))
お礼
ありがとうございました。 答えは出ましたが、別の検索表に入力するやり方が解りませんでした。 こんなにたくさんの方法があるとは思いませんでした。 とても参考になりました。
- hallo-2007
- ベストアンサー率41% (888/2115)
作業列入れるのが、一番わかりやすくて簡単ではないでしょうか? 仮にD列に一列挿入 D2に=A2&B2&C2 と入れて下フィルしておく。 仮に A10,B10,C10に自営・種別・積載 D10に何月か入っているとして =VLOOKUP(A10&B10&C10,D1:G7,MATCH(D10,E1:G1)+1,FALSE) ではいかがでしょうか VLOOKUP関数でA10&B10&C10を検索、範囲の左端列には作成した作業列 MATCH関数で、何月かを横方向に検索して、列番号を決める 事が出来ると思います。
お礼
ご回答ありがとうございました。 参考になりました。
- jo-zen
- ベストアンサー率42% (848/1995)
IF関数とAND関数を組み合わせて使い、自営 種別 積載の条件にあてはまる場合に例えばG1の値を1とするなどで、該当行を特定し、VLOOKUP関数を使って、求めたい月の数値を抽出する流れが一番すっきりするのではないですか。VLOOKUP関数は左端の値を元にする為、データ行を B列以降にして、A列に該当行ならば1を入れる関数を入力してあげるのがもっとも簡単ですが。やり方はいろいろあります。
お礼
ご回答ありがとうございました。 参考になりました。
- shikisaito
- ベストアンサー率52% (257/491)
=SUMPRODUCT((A2:A7="自")*(B2:B7="乗用")*(C2:C7=1)*INDEX(D2:F7,,MATCH("1月",D1:F1,0)))
お礼
早速のご回答ありがとうございました。 とても参考になり、勉強になりました。
お礼
ありがとうございます。 私の希望するものはこのような感じです。 このまま貼り付けさせて頂いたのですが、#N/A になってしまいました。 もう少しなので頑張ってみます。
補足
出来ました!! 何日も考えても解りませんでしたから本当にありがたいです。 ありがとうございました。