- ベストアンサー
Excel複数条件で数値を返す方法
- ExcelのVLOOKUP関数を使用して複数の条件を指定して数値を返す方法を教えてください。
- Sheet2の特定のセルにSheet1のデータから複数の条件に一致した数値を返したい場合、VLOOKUP関数を使います。
- この場合、条件となるデータの範囲を指定し、一致する値を返すように設定します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは! Sheet1のB・C列データで、Sheet2のA1セルに入力したもののB・C列を表示したい! というコトですよね? 余計なお世話かもしれませんが、Sheet2のA列データも表示するようにしてみました。 Sheet2のA6セルに =IF(COUNTIF(Sheet1!$A:$A,$A$1)<ROW(A1),"",INDEX(Sheet1!B$1:B$1000,SMALL(IF(Sheet1!$A$1:$A$1000=$A$1,ROW($A$1:$A$1000)),ROW(A1)))) これは配列数式になってしまいますので、 Shift+Ctrl+Enterで確定! この画面からコピー&ペーストする場合はA6セルに貼り付け後、数式バー内で一度クリック! 編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 このA6セルを隣のB6セルまでイーとフィルでコピー! そのまま下へオートフィルでコピーではどうでしょうか? 参考になりますかね?m(_ _)m
その他の回答 (1)
- KURUMITO
- ベストアンサー率42% (1835/4283)
複数の条件が多くなっても分かり易くしかもデータが多くなっても計算に負担のかからない方法は作業列を作って対応することです。 シート1のD1セルには次の式を入力して下方にドラッグコピーします。 =A1&B1 シート2のB6セルには次の式を入力すればよいでしょう。 =SUMIF(Sheet1!D:D,A$1&A6,Sheet1!C:C) 作業列を使わないカッコいい方法はB6セルに次の式を入力します。 =SUMPRODUCT((Sheet1!A$1:A$1000=A$1)*(Sheet1!B$1:B$1000=A6)*(Sheet1!C$1:C$1000)) この方法はセル範囲を指定して使用することが必要ですし、上にも述べましたようにデータが多い場合には計算に負担がかかりますのでお勧めの方法ではありません。
お礼
tom04さん なんとかやりたいことが形になりました。 この度はありがとうございました。
補足
tom04さん こんにちは。解答ありがとうございます。教えて頂いた計算式をあてはめ組み直したのですが 自分のやりたい形にたどり着かなかったので再度ご質問をさせていただきたいと思います。 差し支えなければ、こちらをご覧いただきたいと思います。 http://oshiete.goo.ne.jp/qa/7530825.html 今後は画像をつけイメージを載せましたのでやりたいことが伝わればと思います。 何卒よろしくお願いします。