=IF(M7="A";(E3/5);IF(M7="B";(E3/3);IF(M7="C";(E3/2);IF(M7="D";(E3/1);"NG"))))
別途、N10に10.0などの数値を入力しておき、
上記、E3/5、E3/3、E3/2、E3/1の数値が、N10(10.0)より大きくなった場合、
N10に入った数値を表示させ、
N10が0であれば、E3/5、E3/3、E3/2、E3/1の結果をそのまま表示させるというものです。
尚、「M7="A";(E3/5)」といった条件は今は4つですが、
さらにいくつか増やします。
よろしくお願い致します。
コメント欄のものに少し追記して投稿します
例えば、下記の式を仮にAA1に移動したとします
=IF(M7="A";(E3/5);IF(M7="B";(E3/3);IF(M7="C";(E3/2);IF(M7="D";(E3/1);"NG"))))
本来、上の式があった場所にてN10の条件を付加します
=IF(N10=0;AA1;IF(ISNUMBER(AA1);MIN(N10;AA1);AA1))
※AA1の結果が数値であった場合はN10と比較して小さいほう
AA1の結果が数値以外であった場合はAA1をそのまま出力という形にしてみました
目的を読んでも式を見ても「条件式」のように見えるのだけど、
「書式設定」にかかわって式なのですか?
OpenOfficeは長らく使ってないのでコメントだけになると思いますが、
式が質問文のように単純なものであるなら、私なら下のようにするかも・・・
=MIN(E3/SEARCH(M7,"DCB_A",1),IF(N10 = 0,E3,N10))
ちなみにABCDの部分はリストから参照させ、
日本語文字列となる場合もあります。
頂いた式ではよくわかりませんでした。
M7の値がAやBといった1文字の場合だけしか使えないです
どうでもいい式をぐだぐだと解説させてもらいますと・・・
1.SEARCH(M7;"DCB_A";1)
M7にDが入っていれば1、Cなら2という具合に、
文字の位置を返すという特性を利用しています
2.E3 を 割ります
以上で、質問文の冒頭にある最初の式の変改になってます
以下、N10という新たな条件を付加していきます
3.MINで、小さな値を採用するようにします
4.IF(N10=0;E3;N10)
N10=0ならばという条件を満たすため、
M7の値によって導き出されたE3/5からE3/1までの中で一番大きくなる可能性があるのは、
E3/1すなわちE3なので、N10が0の場合にはE3を変わりに使うようにします
E3を変わりに使うことによって、M7で導き出された結果より小さな値になることはなくなり、
N10=0の時にはM7で導き出された値が選択されるようになります
ぐだぐだと関係ないことを書いてしまいましたが、本題に戻ります
式があまりにも複雑になる場合には、
途中計算用のセルと、計算結果を表示するセルに分けるほうが良いでしょう
例えば、下記の式を仮にAA1に移動したとします
=IF(M7="A";(E3/5);IF(M7="B";(E3/3);IF(M7="C";(E3/2);IF(M7="D";(E3/1);"NG"))))
本来、上の式があった場所にてN10の条件を付加します
=IF(N10=0;AA1;MIN(N10;AA1))
勉強になりました。
また、質問のほうも最後の式にて解決しました。
(よろしければ回答の方にもお寄せください)