- ベストアンサー
Excelの関数で教えてください
添付画像のような表があり、E列の「金額」欄は基本的にはB列×D列の乗算の結果を表示させるので、それだけなら例えば2行目なら「B2*D2」で良いのですが、D列が空欄だったり、B列・D列とも空欄になる場合があって、E列のみに数値を記入するケースがあるため、E列に数式を設定するとイレギュラーで数値を入力できないため、その場合、隣のF列に代わりに入力すると、E列に表示が出るようにしたいと考えています。 C列は単位が入ります(○本、○ケース、○式等) まとめますと、 E列に表示される数値は B列とD列それぞれに数値がある場合はB列×D列の結果を表示 B列に数値があり、D列に数値がない場合はF列に入力した数値を表示 B列にもD列にも数値はなく、F列に数値がある場合はF列に入力した数値を表示 B列、D列、F列のいずれにも数値がない場合はブランク というような数式をE列に設定する場合、どういうような数式にすればいいのか、ご教示いただけないでしょうか? 以上、よろしくお願いいたします。 ちなみにExcel2010または2003で使用します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
=IF(COUNT(B2,D2)=2,B2*D2,IF(COUNT(F2),F2,"")) ※上記の数式はB列がブランクでD列,F列に数値がある場合もF列の値が表示します。
その他の回答 (1)
- bunjii
- ベストアンサー率43% (3589/8249)
>B列とD列それぞれに数値がある場合はB列×D列の結果を表示 >B列に数値があり、D列に数値がない場合はF列に入力した数値を表示 >B列にもD列にも数値はなく、F列に数値がある場合はF列に入力した数値を表示 >B列、D列、F列のいずれにも数値がない場合はブランク >というような数式をE列に設定する場合、どういうような数式にすればいいのか IF関数を入れ子にすれば良いでしょう。 =IF(AND(ISNUMBER(B2),ISNUMBER(D2)),B2*D2,IF(ISNUMBER(F2),F2,"")) ISNUMBER関数は検査対象セルの値が数値であるときTRUEが返されます。 これを使ってB、D、F列に数値が有るか否かをIF関数でチェックします。
お礼
ありがとうございます。 無事解決できました。 #1、#2共、どちらでもOKなのですが、システムの都合上、回答順でベストアンサーをつけさせて頂きました。 申し訳ございません。
お礼
ありがとうございます。 無事解決できました。