- ベストアンサー
EXCELで2つの条件で値を代入する方法
- EXCELで困っている方へ。シート1に入力番号の列を作成し、シート2の入力番号を自動で代入する方法をご紹介します。
- シート1には形、品名、単位があります。形が310の場合、単位によって入力番号が異なります。400や500などの場合は2つ目の条件がありません。どのような式を作成すればよいのでしょうか?
- お困りの方へ。EXCELでシート1に入力番号の列を作り、形と単位からシート2の入力番号を自動で代入する方法をご説明します。形が310の場合、単位によって入力番号が異なりますが、400や500の場合は2つ目の条件はありません。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
シート1 KEY 形 品名 単位 入力番号 310-Kg 310 あああ kg 1 310-個 310 あああ 個 2 400- 400 いいい 3 500- 500 ううう 4 KEY=CONCATENATE(B2,"-",D2) または KEY=B2&"-"&D2 シート2 形 単位 入力番号 310 kg =VLOOKUP(CONCATENATE(A2,"-",B2),シート1!$A$2:$E$100,5,FALSE)
その他の回答 (2)
- FEX2053
- ベストアンサー率37% (7995/21381)
何も考えずに「型 & 単位」と文字列をひっつけた形で検索すればオッケー、比較対象のシート2だけは、VLOOKUP関数の特性から「型 & 単位」が先頭列に無いといけないので、=A1 & B1 とかで検索列を作っておく必要があるけど・・・。 単位が無い=長さゼロの文字列、ということになるので、これでうまく行く筈です。
お礼
ご返事ありがとうございます。 関数がいまいち苦手で、少しでも違うところがあると戸惑ってしまいます。 分かりやすい解説ありがとうございました。
- keithin
- ベストアンサー率66% (5278/7941)
簡単な式: =IF(COUNTIF(Sheet2!A:A,A2)>1,SUMPRODUCT((Sheet2!$A$1:$A$100=A2)*(Sheet2!$B$1:$B$100=C2),Sheet2!$C$1:$C$100),VLOOKUP(A2,Sheet2!A:C,3,FALSE)) 難しい式: =SUMPRODUCT((Sheet2!$A$1:$A$10=A2)*((Sheet2!$B$1:$B$10="")+(Sheet2!$B$1:$B$10=C2)>0),Sheet2!$C$1:$C$10)
お礼
ご返事ありがとうございます。 この式を使って勉強したいと思います。 簡単な式と難しい式2通り書いていただきありがとうございます。 関数は奥が深いですね。 とても勉強になります。
お礼
早速のご返事ありがとうございます。 シート1とシート2でやりたかったことが反対ですが、やり方は同じなので大丈夫でした。 質問の書き方が分かりにくくてスミマセン。 ありがとうございました。