• ベストアンサー

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

  • Youyou
  • お礼率64% (2254/3473)

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

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

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

Youyou
質問者

お礼

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

その他の回答 (1)

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答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

  • エクセルの関数を教えてください。

    セルHにIFとANDを使って下記内容の関数式を入力したいです。 セルAからセルF内すべてに数値が入っていたらセルFを返す、 セルFが空欄ならばセルEの数値を返す、 セルEも空欄ならばDの値を、 Dも空欄ならばCの値を、Cも空欄ならばBの数値を、 Bも空欄ならばAの数値を返し、 Aも空欄(つまりAからF内に数値なし)ならばスペースを返す。 わかる方、教えてください。 よろしくお願いします。

  • Excelセル関数入力

    セルC2の合計がF1の数値と同じになるようにセルB4に数式を入力したいのですが。D列が数式となります。尚、F1の値は都度手入力で変更されます。数式を何度か入れたのですが数値がちぐはぐになりうまくいきません。B4に入力する関数もしくは何か良い方法はないでしょうかよろしくお願いします。

  • Excelで、IF関数を使用して空欄にしたところの数値を使用したいのですが

    Excel初心者です かなり特別なケースだと思うのですが IF関数を使って、{上と同じ数値なら空欄、そうでない場合は計算結果を表示} というのを、 E9 =IF(SUM(E8,C9)-D9=E8,"",SUM(E8,C9)-D9) という関数を使って作ってみました。 仮に、下のような数値の並びの場合 1 22 333 333 4444 4444 4444 55555 という場合 1 22 333 4444 55555 というように表示したいのですが この関数を見ていただくとわかるとおり 一つ上の数値を参照して計算するため 空欄であれば、そのセルの数値を”0”として認識してしまい 下の計算結果がハチャメチャなものになってしまいます。 空欄を表示しても、数値は参照したい というような場合、どのようにしたらいいのでしょうか もしくは、上の関数を使用した場合 E8が空欄の場合はE7の数値、E7も空欄の場合E6を参照する、というやり方はあるのでしょうか。 自分でも調べてみたのですが、同じようなケースの質問がなかったため質問させていただきました。 どうぞよろしくお願いいたします。

  • Excelセル値入力

    セルC2の合計がF1の数値と同じになるようにセルB4に数式を入力したいのですが。C列の数式はD列に表示しています。尚、F1の値は都度手入力で変更されます。数式を何度か入れたのですが数値がちぐはぐ又、循環になりなりうまくいきません。B4に入力する数式をどうかよろしくお願いします。

  • Excelセル数式入力

    添付の見積書のうちセルE2の合計がH2の数値と同じもしくは近似値:±10,000になるようにセルD5とD9に数式を入力したいのですが。E列の数式をF列に表示しています。条件がありましてF1の値は都度手入力で変更されます、また見積書の諸経費はI2が空白であれば数値が入りI2に数字1を手入力すれば数値が入らず加算されないようになります。尚、D5+D9を100%とした場合セルD5はJ2の割合、D9は(100%-J2%)になるようにしたいのですが数式を何度か入れたのですが数値がちぐはぐ又、循環になりなりうまくいきません。D5,D9に入力する数式をどうかよろしくお願いします。

  • 関数でエラー

    Excel2000で初めて関数に挑戦してみました。 「B4]に、もし「E4」が空欄だったら空欄のまま、数字が入っていたら「E4」から「F4以降の値の和」を引いた値を入れたいのです。 IF(ISBLANK(E4),"",E4-SUM(F4:AZ4) IF(AND(E4=""),"",E4-SUM(F4:AZ4)) それぞれの数式を試したのですが、途中で「#NAME」又は「正しくありません」などの表示がされてしまいます。 表示を無視して入力してみたら、「B4」に正しい数字の結果が得られたので成功したのだと思い、今度は数式だけを、コピー&ペーストで「B5」以下のセルに貼りつけました。ところが、数式だけを指定したはずなのに、数式と一緒に「B4」の値までが貼り付けられてしまいました。 結果的には、エラー表示を無視して作った数式なので無効なのでしょう。 「E4」や「F4」など、セルの番地を入れ始めると、「#NAME」が表示され、「-」マイナスを入れると「正しくありません」となってしまいます。 テキストをを参考にして作った数式なのですが、どこが間違ってるのかわかりません。 どうそ教えて下さい。

  • エクセルの関数(条件付け)について

    エクセルについて質問させてください。 説明がわかりにくかったらすみません。 A行のセルに、品名(文字列) B行のセルに、価格(数値) C行のセルに、チェック1(1と入力) と入力してある状態で、 D行・E行・F行のセルに下記のような式を表示させたいのですが、 どのような関数を組めばよいでしょうか? 表示させたいのは、 D行のセルに、チェック2 …「Cに1と入力されていなかったら2と表示させる」式 E行のセルに、価格1  …「Cに1と入力されている場合のみBセルの数値を表示させる」式 F行のセルに、価格2 …Fのセルには「Dに2と表示されている場合のみBセルの数値を表示させる」式 になります。 宜しくお願いいたします。

  • エクセルのVLOOKUP関数の検索値が数式の場合について

    エクセルのVLOOKUP関数に悩んでいます。 どなたかご指導お願いいたします。 *--------------------------* A~F列 すべて書式が時刻です。 A、B列には数式で計算された時刻が入力されており、 C列はA列+B列という計算式がはいっています。 F列に=VLOOKUP(C列、D:E列、2、FALSE)というように C列を検索値とし、D列を参照し、E列にある時刻をF列に 設定したいのですが、結果が#N/Aになります。 例えばA,B列が数式ではなく入力した値であれば 検索値であるC列がA列+B列 でも結果はOKでした。 検索値は数式セル同士を足し算した数式は設定不可能なのでしょうか?

  • Excelの関数について

    [C1のセル値]-[A1またはB1のセル値] を使って計算したい場合の計算式を教えて下さい。 A列、B列、C列には具体的な数値を入力します。 D列にその結果を表示させる関数を入力したい。 と考えています。 但し、以下の条件を満たす事が必須となります。 (1)A、B、またはCのセルが未入力の場合はDは空白セルのまま。 (2)A、Bいずれかの一方が入力されている場合はCの値を使って計算し結果を表示。 (3)A、Bいずれも入力されている場合はBを優先してCの値を使って計算し結果を表示。 よろしくお願いします。

  • エクセル2003のj関数について教えてください

    ある列にAが入力された場合:別セルにある数値×0.8 ある列にBが入力された場合:別セルにある数値×0.5 ある列にCが入力された場合:別セルにある数値×0.2 ある列にDが入力された場合:別セルにある数値×1 という数式を利用したいのですが、どの関数を利用して作成したら良いのかが分かりません。 どなたかご教授頂けますでしょうか。 宜しくお願い致します。

専門家に質問してみよう