- ベストアンサー
いくつかのセルを確認して結果を絞り込んでいきたい。
現在、エクセル2007で入力用の表を作っています。 たとえば、 A B C D 1 あ か 01 100 2 あ か 02 110 3 い き 03 120 4 い く 04 130 5 い く 05 140 6 あ か 02 (入力用行) 7 結果A 以上のような表を作った時に、 行6の各セルに A → あ B → か C → 02 と入力した行くと、結果AにD列の数字の110表示させたいのです。 同じように各セルに A → い B → く C → 04 と入力したら、結果AにD列の数字の130表示させたいのですが これは、マクロ等を使用しないと出来ないものでしょうか? 本日中に仕上げたいので、どなたか知恵を貸して下さい。 宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
NO2です。 数式がくどいので整理してみました。 =SUMPRODUCT((CONCATENATE(A1:A5,B1:B5,C1:C5)=A6&B6&C6)*D1:D5)
その他の回答 (2)
- mu2011
- ベストアンサー率38% (1910/4994)
一例です。 =IF(COUNTA(A6:C6)=3,INDEX(D1:D5,SUMPRODUCT((A1:A5=A6)*(B1:B5=B6)*(C1:C5=C6),ROW(A1:A5))),"")
- hallo-2007
- ベストアンサー率41% (888/2115)
作業列を1列入れては如何でしょうか。 A B C D F 1 あ か 01 100 2 あ か 02 110 3 い き 03 120 ・・・と1列追加して、A1セルに =A1&B1&C1 といれて下までコピィしておきます。 A7には =VLOOKUP(A6&B6&C6,A1:D5,4,FALSE) といった感じでVLOOKUP関数が使えるようになります。 或いは、配列関数、SUMPRODUCT関数を使用します(ひとつのセルぐらいであれば) =SUMPRODUCT((A6=A1:A5)*(B6=B1:B5)*(C6=C1:C5)*(D1:D5) とかですね。
お礼
VLOOKUPを使う手も有るんですね。 出来れば、表の形は崩したくないので、後者のやり方でやってみましたありがとうございました。
お礼
入力量が多く理解に苦しみましたが、整理してもらって意味が理解できそうです。 数式的には当てはめたらうまくいきました、ありがとうございました。