OpenOffice calcの以下の条件書式にさらに条件を加えたいです。


=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つですが、
さらにいくつか増やします。

よろしくお願い致します。

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2012/01/23 11:21:15
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:windofjuly No.1

回答回数2625ベストアンサー獲得回数1149

ポイント100pt

コメント欄のものに少し追記して投稿します

例えば、下記の式を仮に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をそのまま出力という形にしてみました

id:harakiri2

ありがとうございます。解決しました。

2012/01/23 11:20:55
  • id:windofjuly
    うぃんど 2012/01/22 22:16:17
    >以下の条件書式

    目的を読んでも式を見ても「条件式」のように見えるのだけど、
    「書式設定」にかかわって式なのですか?

    OpenOfficeは長らく使ってないのでコメントだけになると思いますが、
    式が質問文のように単純なものであるなら、私なら下のようにするかも・・・

    =MIN(E3/SEARCH(M7,"DCB_A",1),IF(N10 = 0,E3,N10))
  • id:harakiri2
    条件式ですね^^;

    ちなみにABCDの部分はリストから参照させ、
    日本語文字列となる場合もあります。

    頂いた式ではよくわかりませんでした。
  • id:windofjuly
    うぃんど 2012/01/22 23:33:11
    上のコメントで書いた式は質問文にある式の変形例なので、
    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))
  • id:harakiri2
    詳しくありがとうございます。
    勉強になりました。

    また、質問のほうも最後の式にて解決しました。
    (よろしければ回答の方にもお寄せください)

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません