

エクセル2013での条件式についてご教授ください。
添付画像のような計算式の中で、
青枠の範囲を指定して、上段に数値があれば上段の数値を、なければ下段の数値を使って計算をして、黄色いセルにその答えを出したいと思っています。
☆ ①×②×③
☆ ①×②×C
☆ ①×B×C
☆ A×②×③
☆ A×B×③
☆ A×B×C
全てのパターンをクリアできる計算式で、IF関数の羅列にならないような関数、方法があれば教えてください。
小数点以下を四捨五入できる関数のみでお願いします。

No.8ベストアンサー
- 回答日時:
ANo3です。
各回答にコメントをなさっていらっしゃいますが、いくつか補足を・・・
>ユーザー定義関数というものがあるのは知りませんでした。
>マクロを使えばできるのでしょうが、だれが見ても何をしているのかわかるように
>書式づくりをしていますのであまり気が進まず今に至ります。
ユーザ定義関数はマクロの一種です。
「だれが見ても何をしているのかわかるように」という意味から採用しないのは一理あると思います。
一方で、そういう意図であるなら、質問者様自身がが組み立てられないような関数を用いるのも避けた方がよいのではないでしょうか?
例えば、No2様がお答えのように順次計算する方式の方がわかり易さの点ではすぐれているはずと思います。
仮に、セル等を非表示にしていても、参照式を見れば参照先は明らかなので、難しい式を用いるよりもはるかにわかり易いでしょう。
>PRODUCT関数は小数点以下切り捨てだったと記憶していますので
PRODUCTは積を求める関数です。(SUM関数の積版みたいなもの)
切り捨てはROUNDDOWNで可能ですが、「少数以下」とは固定されていません。
任意の(指定)桁数での切り捨てが可能です。
No5様の回答にあるROUNDは、同様に、指定桁数で四捨五入する関数です。
エクセルにはヘルプやMSのサイトに(だけでなく他にもたくさん)豊富な解説がありますので、それらを活用なさることをおすすめします。
この質問を気にかけていただきありがとうございます。
>質問者様自身がが組み立てられないような関数を用いるのも避けた方がよいのではないでしょうか?
おっしゃる通りですね、考えすぎて少し迷走していたようです。
皆様に回答を頂いてから色々と考えていましたが、やはりその方法が一番良さそうですね。
PRODUCTの使い方は承知の上で端数の処理方法が切り捨てだったと記憶しておりました。
言葉足らずな点があり、質問内容とは少し違うところまで考えさせてしまったようで申し訳ありません。
ですが全て丁寧に解説してくださったおかげで、自分の知識の正誤を確認することができました。
本当にありがとうございました。
No.6
- 回答日時:
A・B・Cとなっている下段の数値は必ずあるものなのですよね?
(すべてが空白セルにはならないということですよね?)
IF関数の羅列とは、どの程度まで許されるのでしょうか?
例えば、以下のような式ではダメなのでしょうか?
=PRODUCT(IF(ISBLANK(①),A,①),IF(ISBLANK(②),B,②),IF(ISBLANK(③),C,③))
(セル指定ではなくパターンを対象に入れています)
回答ありがとうございます。
A,B,Cには必ず数値が入ります。
上段の①,②,③が数値が入るときと入らないときがあるので苦戦しています、、。
現段階では、IF関数を3つほど羅列したものがありますが、
計算式から、参照セルを解読することが非常にややこしく、時間がかかっています。
シート数も多く、エクセル自体も重たくなってきているので
どうにか改善できないかと思っています。
PRODUCT関数は小数点以下切り捨てだったと記憶していますので、
少し改良して組み立ててくださった式でテストしてみようと思います。
No.5
- 回答日時:
こんにちは!
>IF関数の羅列にならないような関数・・・
ん~~~関数でやろうとすればどうしてもIF関数の羅列になると思います。
↓の画像でE2セルに
=ROUND(PRODUCT(IF(A2="",A3,A2),IF(B2="",B3,B2),IF(C2="",C3,C2)),0)
という数式を入れています。m(_ _)m

回答ありがとうございます。
関数式まで組み立ててくださって、大変勉強になります。
少し改良しつつ試してみようと思います。
指定した範囲内で優先的に使うセルを条件に合わせて判別し、計算できるような関数が
知らないだけで実はあるんじゃないかと思い、こちらで皆さんのお力をお借りしていますが
どうにも理想が高かったようです、、。
参考にさせていただきます、ありがとうございました。
No.3
- 回答日時:
こんにちは
>計算書の書式上、別セルで計算させたり、別表を作って参照することができません。
う~~ん。そのような制約の状況が想像できませんね。
表示したくないなら、非表示のセルでもよいし、非表示のシートでもできると思います。
>セルの中で解決できる方法
>IF関数の羅列にならないような関数
・・と、場合分けをしたいけれど、IF関数は使用するなという条件自体が難しいので、ユーザ関数を作成してしまえば、場合分けでもなんでも、相当に複雑なことでも可能になります。
セルに記入する関数式は
=USERFUNC(①:C)
みたいなもので済むはずです。
通常の関数のみでというのであれば、
◆①やAの片方にだけ数値が入っているという条件が成立するなら
=MAX(①,A)*MAX(②,B)*MAX(③,C)
◆両方に数値がある可能性があり、Aより①を優先するなら、IF文の羅列で
=IF(ISNUMBER(①),①,A)*IF(ISNUMBER(②),②,B)*IF(ISNUMBER(③),③,C)
IF関数でさえなければ良いというのであれば、
=IFERROR(OR(①)*①,A)*IFERROR(OR(②)*②,B)*IFERROR(OR(③)*③,C)
>小数点以下を四捨五入できる関数のみで~~
他にもいろいろな条件が後で付け加えられそうな気がしますので、四捨五入等の加工はご随意に・・・
配列数式などを利用すると、もう少しいろいろとできるのかも知れませんが、詳しくないので省略です。
回答ありがとうございます。
配布用の書式を作成していますので、エクセルに詳しくない人が使っても
目に見えている範囲で内容がわかるようにと試行錯誤しての質問でした。
セル・シートの非表示は盲点でしたが、隠してしまっては計算式の解読に時間がかかるので、
できるけれどもなるべく使用は避けたいところです。
ユーザー定義関数というものがあるのは知りませんでした。
こちらで調べてみて、記載してくださっている関数式と合わせて検討してみようと思います。
丁寧に一つずつ答えてくださってありがとうございました。
No.2
- 回答日時:
No.1のお礼への返答です。
どのような仕様か自分には分かりませんが、
そのシートしか表示させたくないのであれば
他のシートは非表示にすることで解決しそうな気もしますがいかがでしょう。
必要ならばシートやブックを保護することで非表示状態を維持することも可能です。
引き続き回答していただき、ありがとうございます。
別シートで計算してシートを非表示にするならできそうです。
このシートのみで、数式からどの値を使って計算しているかが明確にわかるようなものが
理想的な形なのですが、理想が高いのでしょうか、、。
マクロを使えばできるのでしょうが、だれが見ても何をしているのかわかるように
書式づくりをしていますのであまり気が進まず今に至ります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) Excel2019 列と列(2列)の数値の重複を調べたい 1 2023/05/11 13:35
- Excel(エクセル) ExcelのIF関数について 4 2023/05/24 12:54
- Excel(エクセル) エクセルのマクロ作成について教えてください 5 2023/02/20 00:39
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Excel(エクセル) エクセルで指定範囲にある名前と重複した場合に入力できないようにしたい 1 2023/07/13 09:58
- その他(Microsoft Office) Excel 2列の値を返す数式についてです 1 2022/11/23 22:59
- 数学 関数f(x)=x^3+ax^2+bx+cとする。このとき、y=f(x)は以下の条件を満たしている。 1 2023/02/11 14:40
- Excel(エクセル) スプレッドシートの関数 2 2022/11/16 17:36
- Excel(エクセル) エクセルで条件付き書式を使わずにセルの文字の色を変える方法を教えて下さい 8 2023/07/28 01:15
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで、時間の計算をした...
-
ヘッダー
-
エクセルの使い方 1日=7時間45...
-
Excel 関数? 文字列に...
-
入力済のセルだけの平均値
-
EXCEL2003の循環参照エラーにつ...
-
エクセルで時間帯を 深夜、日中...
-
エクセルで時間の差の出し方は?
-
数式の計算結果により表示され...
-
エクセル・計算式をテキストデ...
-
二重和をExcelで計算する方法
-
Excel2019 時間入力の際に「:...
-
エクセルで勤怠管理表で休憩時...
-
AかBに入力があった時Cに反映、...
-
ゴールシークについて
-
数式の結果である数値のみカウ...
-
Excelで特定の数を計算対象から...
-
EXCELゼロと空欄を区別した表に...
-
Excelの見積書の消費税をブルタ...
-
エクセルで足し算と掛算を混ぜ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ヘッダー
-
AかBに入力があった時Cに反映、...
-
エクセルの使い方 1日=7時間45...
-
Excel 関数? 文字列に...
-
数式の計算結果により表示され...
-
エクセルで、時間の計算をした...
-
Excelの文字入力にタイムラグが...
-
エクセルでの時間計算(2時間30...
-
エクセル・計算式をテキストデ...
-
EXCELの関数に関する質問です
-
エクセル 1万時間を越える際の...
-
IF関数で、時間を条件にしたい...
-
エクセルでDeleteキーを...
-
エクセル 月数を0.5ヶ月単位で...
-
IF関数で出した数値をSUM関数で...
-
エクセルで足し算と掛算を混ぜ...
-
【エクセル】あるセルのみ自動...
-
エクセルで同じ計算式を入れて...
-
TEXTCALCの使い方
-
sum 範囲を横に可変したいです...
おすすめ情報
作成している計算書の書式上、別セルで計算させたり、別表を作って参照することができません。
記述が抜けていてすみません。よろしくお願いします。