• ベストアンサー

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で使用します。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

=IF(COUNT(B2,D2)=2,B2*D2,IF(COUNT(F2),F2,"")) ※上記の数式はB列がブランクでD列,F列に数値がある場合もF列の値が表示します。

Youyou
質問者

お礼

ありがとうございます。 無事解決できました。

その他の回答 (1)

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.2

>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関数でチェックします。

Youyou
質問者

お礼

ありがとうございます。 無事解決できました。 #1、#2共、どちらでもOKなのですが、システムの都合上、回答順でベストアンサーをつけさせて頂きました。 申し訳ございません。

関連するQ&A