• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文: Hidocchiと申します。)

エクセル計算式の謎に迫る!

このQ&Aのポイント
  • エクセルの計算式について質問があります。
  • 特定の計算式の解説と、複雑な計算式の解き方について教えてください。
  • どうしても理解できないエクセルの計算式についての相談です。

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

  • ベストアンサー
回答No.2

長い関数式を読み解くには、そのまま見ても、目がチラチラして、対応する カッコを見つけるのも大変ですよね^^ 数式バーのfx をクリックして編集モードにすれば、それぞれの関数の引数(中身)を 整理して見る事ができます。 下図は 式の中のAND部分をクリックした時の内容です。 ANDの引数と引数の現在の値、総合したAND全体の値が整理して表示されます。 それぞれのセルの意味(単価が とか 個数が とか、値が入ってる、入ってないとか) と 考え合わせながら読めば、よくわかると想います。

noname#135843
質問者

お礼

 わざわざ、画像付きのご説明まで頂戴いただきまして、どうもありがとうございました。  この”編集モード”の手法も、とても参考になりました(自分の未熟さを改めて知ることができました)。  どうもありがとうございました。厚くお礼申し上げます。  

その他の回答 (2)

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

式の入力ミス? OR(BU1365<>1,BU1365<>1) 同じBU1365 OR(P1365<>1,Q1365<>-1 と 「P1365が1でない、あるいはQ1365が1でない・・ とりあえず 作り始めた最初が難しく考えたのでしょうか? IF文の一部分を考えて見ます。 =IF(OR(BT1365<>1,CH1365<>1),"",1) もしBTが1以外 あるいはCHが1以外であれば 空白 それ以外は 1 つまり BT と CH 両方が 1の場合のみ 1 それ以外は 空白 でも同じですよね。 =IF(AND(BT1465=1,CH1365=1),1,"") と考えると次のステップで =IF(AND(OR(BT1365<>1,CH1365<>1),OR(BU1365<>1,CU1365<>1)),"",1) と続くわけですが つまり BT、CH、BU、BV・・・全てが1の場合 1 それ以外は 空白 という考え方であっていませんか。 =IF(OR(P1365<>1,Q1365<>-1,AND(・・の部分ですが =IF(OR(P1365<>1,Q1365<>1,AND(・・),"",1)だとすると これも =IF(AND(P1365=1,Q1365=1,AND(・・),1,"") ですが つまり 全てが1の場合のみ 1 1以外がひとつでもあれば 空白という条件の気がします。 実際のシート上で 1が出る場合と 空白の場合を確認してみてください。 そこで テクニックですが =IF(AND(P1365=1,Q135=1),1,"")の式を =IF((P1365=1)*(Q135=1),1,"") とANDの部分を掛け算で計算しても同じ結果が得られます。 もし条件が 全てが1の場合のみ 1であるのであれば =IF((P1365=1)*(Q1365=1)*(BT1365=1)*(CH1365=1)*(・・・),1,"") と全ての条件を掛け算した式を空いている列に作成してみて結果を比較してみてください。 もう少しテクニックが応用できるならば =IF(P1365&Q1365&BT1365&・・・・="1111・・・・",1,"") とセルの値を連続させて比較する方法もありそうです。

noname#135843
質問者

お礼

 とてもわかりやすいご説明を賜りまして、厚くお礼申し上げます。  エクセルファイルをもらったのですが、それを読み解くことができずに、ご質問させていただいた次第でございます。   それにしましても、いろんな手法があるのですね。とても勉強になりました(自作するときは、一気に1つのセル盛り込むことをしなかったのですが、今後は少しはできるようになれればいいのですが.....)。  どうもありがとうございました。  

  • conanthe
  • ベストアンサー率65% (114/175)
回答No.1

AND、ORの中で比較する論理式は、2つまでではなく、3つ以上指定できます。 式のあるセルにセルカーソルを移動し、F2キーを押して編集モードにしてください。そして、文字カーソルをカッコに移動すると対応するカッコが太字で表示されます。これで構造がかなりわかりやすくなります。 上の方法で解析した結果が下です。 =IF( OR( P1365<>1, Q1365<>-1, AND(OR(BT1365<>1,CH1365<>1),OR(BU1365<>1,BU1365<>1),OR(BV1365<>1,CE1365<>1),OR(BX1365<>1,CB1365<>1),OR(BW1365<>1,CF1365<>1),OR(BV1365<>1,BW1365<>1),OR(CE1365<>1,CD1365<>1)) ) ,"",1) おおまかに見て、3つの論理式がORでくくられています。3つめの論理式でさらにANDが使われ、その中が一見複雑に見えますが、よく見ると単純なOR(2つの論理式の比較)の繰り返しです。 もし、P1365<>1 または Q1365<>-1 または AND(………………) なら "" でないなら 1 そして、AND(………………)の内容は、 BT1365<>1 または CH1365<>1 かつ BU1365<>1 または BU1365<>1 かつ BV1365<>1 または CE1365<>1 かつ BX1365<>1 または CB1365<>1 かつ BW1365<>1 または CF1365<>1 かつ BV1365<>1 または BW1365<>1 かつ CE1365<>1 または CD1365<>1

noname#135843
質問者

お礼

 とてもわかりやすいご説明を賜りまして、厚くお礼申し上げます。  ”F2キーを押して編集モード” の手法は、とても参考になりました(こんな凄技があるなんて!)。  どうもありがとうございました。  

関連するQ&A

専門家に質問してみよう