• ベストアンサー

数式の意味を教えてください

=IF(OR(D54>D56,D54="",D65=0,D57>150),"",IF(INDEX($AN$132:$AS$132,1,MATCH(D51,$AN$131:$AS$131,0))<D65,"",MATCH(D65,INDEX($AM$134:$AS$313,1,MATCH(D51,$AM$131:$AS$131,0)):INDEX($AM$134:$AS$313,180,MATCH(D51,$AM$131:$AS$131,0)))-D57)) という数式があるのですが、どこから読み始めればよいのでしょうか? 数式が長くなってくるとどういう意味なのかがわかりにくくなってしまいす。コツなどはありますか? お願いします

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

  • ベストアンサー
  • suekun
  • ベストアンサー率25% (369/1454)
回答No.4

私の場合は最初から読み解いていきますね。 最初がIF。 論理式で条件分岐しているのね。 次がOR。 その条件を並列で複数しているのね。 論理式が真実なら? "" 空白を返すのか。 じゃー偽りなら? もう一度 IF文で条件をかけるのね。 じゃー条件は? INDEX つまりどこかのセルの値を拾うのだけど それは他の要因で変化するのね。 INDEXの引数にMATCHが使われているから、MACTHの第一引数 D51の 値がある位置が大事なのね。 その選ばれたセルの値がD65より小さければ、"" 空白でいいのね。 小さく無ければ? MATCHで検索だけど、範囲はINDEXが使われていて ・・・・ と順番に見て行きます。

その他の回答 (4)

  • goo39
  • ベストアンサー率36% (13/36)
回答No.5

(1)=IF(OR(・・・  もしORの中の4条件のどれかだったら"" (2)IF(INDEX(・・・  もしINDEXの結果がD65未満だったら"" (3)MATCH(・・・  そうでなければMATCHの結果-D57

  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.3

コツは・・・ 式をテキストエディタ(メモ帳・秀丸など)にコピーする キーワード(『(』『)』『,』関数名)で改行する 『(』『)』は、改行後、桁をそろえておくといいかも。 =IF( OR(D54>D56,D54="",D65=0,D57>150), "", IF( INDEX( $AN$132:$AS$132, 1, MATCH( D51, $AN$131:$AS$131, 0 ) )<D65, "", MATCH( D65, INDEX( $AM$134:$AS$313, 1, MATCH( D51, $AM$131:$AS$131, 0 ) ) :INDEX( $AM$134:$AS$313, 180, MATCH( D51, $AM$131:$AS$131, 0 ) ) ) -D57 ) )

  • higekuman
  • ベストアンサー率19% (195/979)
回答No.2

=IF(  OR(   D54>D56,   D54="",   D65=0,   D57>150  ),  "",  IF(   INDEX(    $AN$132:$AS$132,    1,    MATCH(     D51,     $AN$131:$AS$131,     0    )   )<D65,   "",   MATCH(    D65,    INDEX(     $AM$134:$AS$313,     1,     MATCH(      D51,      $AM$131:$AS$131,      0     )    ):    INDEX(     $AM$134:$AS$313,     180,     MATCH(      D51,      $AM$131:$AS$131,      0     )    )   )-D57  ) ) まずは、このようにして考えてみましょうか。 意味は・・・ややこしそうなので、考えたくもないです(笑)

  • newbranch
  • ベストアンサー率30% (319/1053)
回答No.1

IF文の場合、単純に言うと、=if(条件式、真、偽)という順に成ります。長くなっても、基本的には変わりません。又、IFは次々とIF文でつないでいくこと(ネストといいます)が出来ますが、原則は前述の通りです。 従って、最初のIFから始めていき、条件が設定されている項を見出し、 その条件が成立するなら、真の項で定めたように処置をおこない、その条件が成立しないなら、偽で定めた処置を行ないます)

関連するQ&A

専門家に質問してみよう