[[20061027153839]] 『IF関数について』(NB) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『IF関数について』(NB)

 =IF($C$5-15>=E3,"",IF(AND($C$5-14>=E3,$C$5-7>=E3),"あ",
 IF(AND($C$5>=E3,$C$5-7>=E3),"い",IF(AND($C$5>=E3,$C$5-7<E3),"う",
 IF(AND($C$5<=E3,$C$5+7>=E3),"え",IF(AND($C$5+7<=E3,$C$5+14>=E3),"お",
 IF(AND($C$5+14<=E3,$C$5+21>=E3),"か","")))))))
    ^^^^    ^^^^ ←エラーがでる。
 今↑の数式を使用していて、↑の数式だと問題無く計算が出来ます。
 しかし、『$C$5』の部分を『TODAY()』に変更して使用しようとすると、
 ^^^^の部分を変えた時のみエラーが出てしまいます。
 IF関数のネストではないと思うのですが、原因が分かりません。

 IF関数にネストの限界があるのではなくて、「関数のネストは7レベルまで」なんです。
(みやほりん)(-_∂)b

 >「関数のネストは7レベルまで」なんです。
 というのはどういった事なのでしょうか?
 (NB)

 【関数内にネストした関数について】
 関数を、他の関数の引数として使用する

        ネストした関数
          │
      ┌───────┐
      │       │
   ┌─────┐  ┌───┐
 =IF(AVERAGE(F2:F5)>50,SUM(G2:G5),0)

 横レス すみません…
 ↑の図を描いてみたいだけでした(*^_^*)

 (Ohagi)

 なんとなく分かったような気がするのですが、でも、
 なぜ^^^^の部分に入力した時のみエラーが出るのでしょうか?
 他の所でもエラーが出そうなのですが…
 (NB)

 TODAY()
      ~~これがネストされるからです^^;
 (ROUGE)

 ROUGEさん、フォローおおきに。
 
>IF関数のネストではないと思うのですが、
この文章からは、「IF関数にネスト制限がある」と認識していると受け取れます。
実際には「あらゆる関数についてネスト制限がある」と認識してください。
 
今回の場合はご自身の数式を後ろから見ていきましょう。
$C$5+14<=E3,$C$5+21>=E3),"か","")))))))
            ↑
           右から数えてこの括弧は8個目です。
この状態がネストレベル7(関数の引数として別の関数が7つ入れ子になっている)です。
右側から見て行って「(」が現れるまでに8つ「)」があるところまでがIF関数に限らず限界です。
 
条件式を整理すればネストは少なくても済むように思えますが、
条件式で釈然としない部分があり、現状では容易に整理できません。
AND($C$5-14>=E3,$C$5-7>=E3) は $C$5-14>=E3 だけでもよくないか。
$C$5>=E3 を判定した後に、$C$5<=E3 を判定しているが、$C$5=E3 は
ホントウはどちらに該当するか。
$C$5+7、$C$5+14の判定についても同じ。
 
とりあえず、同じ動作を期待するだけなら、下記でネストをひとつ減らせ、
$C$5の変わりにTODAY関数を使えるでしょう。
  
=IF($C$5-15>=E3,"",
IF(AND($C$5-14>=E3,$C$5-7>=E3),"あ",
IF($C$5>=E3,IF($C$5-7>=E3,"い","う"),
IF(AND($C$5<=E3,$C$5+7>=E3),"え",
IF(AND($C$5+7<=E3,$C$5+14>=E3),"お",
IF(AND($C$5+14<=E3,$C$5+21>=E3),"か",""))))))
 
(みやほりん)(-_∂)b

 リスト作成でVLOOKUP関数でできそうな
    A         B
1 =$C$5-15  ’     ’は空白にする為
2 =$C$5-14  あ
3

 =VLOOKUP(E1,$A$1:$A$10,  ・・・
TODAY()に変更しても  (8まん)

 範囲外でエラーが出る場合は IFで除外すれば
 =if(範囲外,"",VLOOKUP(E1,$A$1:$A$10,  ・・・ ))

 みなさん、ありがとうございます。
 無事に解決できました。ここは凄い勉強になります。
 (NB)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.