• ベストアンサー

エクセル2007 複数条件で情報をピックアップ

Sheet1で条件をドロップダウンリストから選択し、 絞り込んだものに合致する金額を Sheet2の表から抽出して、Sheet1、E4の金額欄に表示させたいです。 (画像参照) 関数のみでの処理が可能でしょうか? その場合、どのような式を設定すればよろしいのでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.4

>B4~B7は全て入力されております。 >条件に合致するものは複数は存在せず、組み合わせは全て異なります。 という事でしたら、金額欄であるSheet1のE4セルには次の様な関数を入力されると良いと思います。 =IF($J$4&$J$5&$J$6&$J$7="","",IF(OR($J$4="",$J$5="",$J$6="",$J$7=""),"未指定の項目があります",CHOOSE(MIN(COUNTIFS(Sheet2!$B:$B,$J$4,Sheet2!$C:$C,$J$5,Sheet2!$D:$D,$J$6,Sheet2!$E:$E,$J$7),2)+1,"該当無し",SUMIFS(Sheet2!$F:$F,Sheet2!$B:$B,$J$4,Sheet2!$C:$C,$J$5,Sheet2!$D:$D,$J$6,Sheet2!$E:$E,$J$7),"該当するものが複数あります")))

amayoyik
質問者

お礼

できました!!!!! こんな壮大なものをありがとうございます。 “該当無し”などの文言も入れていただき、分かりやすくなりました。 全く手をつけられなかったので、大変たすかりました。 ありがとうございました。

その他の回答 (3)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 回答No.2です。  因みに、もしも、Sheet2のF列に金額が記されている行において、Sheet2のB列~E列のデータ記載欄の中に、何れか記載すべき内容が存在していない場合には、空欄とするのではなく、例えば、「-」(ハイフォン)等を入れて、記入し忘れている訳ではない事を示す様にして頂きますと、抽出条件となるデータの一部が存在していない行に関しても、回答No.2の関数でも抽出対象とする事が出来る様になります。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

>抽出して と仰っておられるという事は、Sheet1のB4~B7の条件入力欄の中に未記入のものがあった場合には、記入済みの条件のみで抽出を行って、合計金額を求めれば良いと考えて宜しいのでしょうか?  又、条件に合致するものが複数存在している場合には、合計金額を求めれば良いと考えて宜しいのでしょうか?  又、Sheet2のF列に金額が記されている行の中には、Sheet2のB列~E列のデータは全て何らかの記入がなされていて、1つの行の中に一部空欄のセルが含まれているものは無いと考えて宜しいのでしょうか?  もしも、上記の内容が全てYESだった場合には、SUMIFS関数を使うと良いと思います。  一例を挙げますと、金額欄であるSheet1のE4セルには次の様な関数を入力されると良いと思います。 =IF($B$4&$B$5&$B$6&$B$7="","",IF(COUNTIFS(Sheet2!$B:$B,IF($B$4="","<>",$B$4),Sheet2!$C:$C,IF($B$5="","<>",$B$5),Sheet2!$D:$D,IF($B$6="","<>",$B$6),Sheet2!$E:$E,IF($B$7="","<>",$B$7)),SUMIFS(Sheet2!$F:$F,Sheet2!$B:$B,IF($B$4="","<>",$B$4),Sheet2!$C:$C,IF($B$5="","<>",$B$5),Sheet2!$D:$D,IF($B$6="","<>",$B$6),Sheet2!$E:$E,IF($B$7="","<>",$B$7)),"該当無し"))

amayoyik
質問者

補足

説明が不足していたようですみません。 以下補足します。よろしくお願いします。 >Sheet1のB4~B7の条件入力欄の中に未記入のものがあった場合には、記入済みの条件のみで抽出を行って、合計金額を求めれば良いと考えて宜しいのでしょうか? ==>B4~B7は全て入力されております。 >又、条件に合致するものが複数存在している場合には、合計金額を求めれば良いと考えて宜しいのでしょうか? ==>条件に合致するものは複数は存在せず、組み合わせは全て異なります。 >又、Sheet2のF列に金額が記されている行の中には、Sheet2のB列~E列のデータは全て何らかの記入がなされていて、1つの行の中に一部空欄のセルが含まれているものは無いと考えて宜しいのでしょうか? ==>はい、その通りです。

noname#187541
noname#187541
回答No.1

こんにちは。 条件入力欄を列方向ではなく行方向にすれば、DGET関数が使えます。 表の変更ができないのであれば、別の場所に参照式で条件欄を作りという方位法もあります。 http://www.moug.net/learning/exkan/exkan006-3.html 参考にどうぞ。

amayoyik
質問者

お礼

ありがとうございます! DGETは見慣れないものでしたので、勉強になりました。

関連するQ&A

専門家に質問してみよう