• ベストアンサー

教えてエクセル関数

エクセルの掛け算は空欄を0と認識して答えが0になってしまいますが max関数がうまく使えません(-_-;) 例=A1*B1*C1*D1 仮にD1のセルが空欄

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

  • ベストアンサー
  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.4

D1が空欄という事でしたら E1 =PRODUCT(A1:D1) だけで、行けるのでは

momotimama
質問者

お礼

<(_ _)>ーーーーーー。勉強になりました

その他の回答 (3)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

No.1・2です! ほんとぉ~!に何度もごめんなさい。 No.2の後者の数式は配列数式にする必要はありませんでした。 PRODUCT関数は空白は無視されると思いますので 単純に =IF(COUNTBLANK(A1:D1)=4,"",PRODUCT(A1:D1)) だけでOKかと思います。 どうも本当に失礼しました。m(__)m

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

No.1です! 前回は大外れでごめんなさいね。 簡単そうで結構難しいですね。 一つの方法はあまりスマートではないのですが、 =IF(COUNTBLANK(A1:D1)=4,"",IF(A1="",1,A1)*IF(B1="",1,B1)*IF(C1="",1,C1)*IF(D1="",1,D1)) としてオートフィルでできます。 他の方法は配列数式になってしまいますので この画面からコピー&ペーストしただけではエラーになるかも知れません。 数式を貼り付けた後に、F2キーを押すか数式バー内で一度クリックします。 編集可能になりますので Shift+Ctrl+Enterキーで確定すると 数式の前後に{ }マークが入り配列数式になります。 その数式は =IF(COUNTBLANK(A1:D1)=4,"",PRODUCT(IF(A1:D1="",1,A1:D1))) です これを↓の画像で言うと、F1セルに貼り付けて 配列数式にしてみてください。 たぶん希望に近い形になると思います。 他に良い方法があれば読み流してくださいね。m(__)m

momotimama
質問者

お礼

<(_ _)>早速やってみます ありがとうございました

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! 解釈が違っていたらごめんなさいね。 もしかして、A1~D1セルの中の最大値を求めたいという事でしょうか? もしそうであれば表示させたいセルに =MAX(A1:D1) としてみてください。 これで、A1~D1セルの中で一番大きな値が表示されるはずです。 直接数式を入力するより 関数の引数ダイアログボックスを利用したほうが理解しやすいのではないでしょうか? 当方使用のExcel2003の場合ですが 表示させたいセルに =  と入力して ↓の画像の赤丸の右側にある下向き▼をクリックします MAXを選択(もしない場合は「その他の関数」を選択し、MAX関数を選択します) 数値1のところで範囲指定すればOKです。 もしセルが飛び飛びの場合はCtrlキーを押しながらセルを選択しても構いません。 以上、長々と書きましたが 参考になれば幸いです。 尚、大きく外している場合は読み流してくださいね。m(__)m

momotimama
質問者

お礼

ちょうどいいのでつかわせていただきます =A1*B1*C1*D1 の答えが このままの式だと0になりますが 関数(MAX?)を使って 40 にしたいのです。