[[20070620215119]] 『ネストの限界について』(みにら) ページの最後に飛ぶ

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

 

『ネストの限界について』(みにら)

 先ほど(20070620160227)でも聞かせて頂いたんですが
 ネストの限界が来た時にどのように変化させると良いのでしょうか?

=IF(IF(G8="","",OR(G8="",J9=$H$313,L9=$H$313,N9=$H$313,P9=$H$313,R9=$H$313,T9=$H$313,V9=$H$313,AJ9=$F$311,AJ9=$F$312,J9=$H$314,L9=$H$314,N9=$H$314,P9=$H$314,R9=$H$314,T9=$H$314,V9=$H$314),IF(U8="",IF(S8="",IF(Q8="",IF(O8="",IF(M8="",IF(K8="",IF(I8="","",H10),K8-G8+1),M8-G8+1),O8-G8+1),Q8-G8+1),S8-G8+1),U8-G8+1),"")

 と数式を打ち込んだんですが、
 多分、ネストの限界で通らなくなってしまいました。
 変形させれば出来ないこともないと思い色々試して見たんですがだめでした…

 お恥ずかしい話ですが教えて下さい。

 [エクセルのバージョン]
 Excel2003
 [OSのバージョン]
 WindowsXP

 ネストの限界かもしれませんが・・・出だしにいきなりIFが二つ重なっていますがこれでも大丈夫です

 ですかね?わからないんですけど・・・

 =IF(IF(G8="","",OR・・・・
  ↑↑
 この部分です。

 (よちお)

 素人ですけど、よちおさんと同じくIF文の理論式にIF文は使えないんじゃないかと思います。(意味的にもよく解りませんし)
 また、2つ目のIF文(条件文がG8=""の文)の[偽の場合]にORを使っているのもダメかもしれません。
 条件が成立しない場合にORの中のどれかをしなさいってのは通らないように思います。
 まぁ素人意見なんで、その辺りを理解した上で「使える」ということでしたらすいません。

 こんな感じに書き直すと見やすいかもです。

 =IF(                            ←どう書いていいのか解りません
    IF(G8=""                         ←条件文
       ,"",                                                  ←G8=""なら
       OR(G8="",J9=$H$313,L9=$H$313,N9=$H$313,P9=$H$313,R9=$H$313,T9=$H$313,V9=$H$313,
            AJ9=$F$311,AJ9=$F$312,J9=$H$314,L9=$H$314,N9=$H$314,P9=$H$314,R9=$H$314,T9=$H$314,V9=$H$314),      ←G8が""でなかったら
    IF(U8="",
       IF(S8="",
          IF(Q8="",
             IF(O8="",
                IF(M8="",
                   IF(K8="",
                      IF(I8="",
                         "",
                         H10
                      ),
                   K8-G8+1),
                M8-G8+1),
             O8-G8+1),
          Q8-G8+1),
       S8-G8+1),
    U8-G8+1),
 "")

 あと、直前に似たような質問をされているようですので
 そちらの続きに書けば、常連のすごい方々から返信して貰えるかもしれません。
 新規スレッドを連続して立てるのはマナー違反らしいです。
 (通りすがり)

続を(20070620160227) if関数以外も考慮すれば

 数式の意図が判らないところがありますので、想像です。    (6UP)

 =IF(OR(G8<>"",
 J9=$H$313,L9=$H$313,N9=$H$313,P9=$H$313,R9=$H$313,T9=$H$313,V9=$H$313,
 J9=$H$314,L9=$H$314,N9=$H$314,P9=$H$314,R9=$H$314,T9=$H$314,V9=$H$314,
 AJ9=$F$311,AJ9=$F$312),
 IF(U8="",IF(S8="",IF(Q8="",IF(O8="",IF(M8="",IF(K8="",IF(I8="","",H10),
 K8-G8+1),M8-G8+1),O8-G8+1),Q8-G8+1),S8-G8+1),U8-G8+1),
 "")

[[20070620160227]]『IF関数とOR関数の複合について』(みにら)
 に続けて質問しないと状況が把握できなくなってしまいますよぉ〜?

 (Ohagi)

 このご質問は、先のものとは、直接、関係がないようにお見受けします。 (6UP)


 >ネストの限界が来た時にどのように変化させると良いのでしょうか?
 単にネストの有効利用と言った考え方だけでよろしいでしょうか?
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=67;id=FAQ
 (Jaka)

 他人のシステム設計には、参画しないようにしていますので、一度だけコメント
 させていただきます。

 ネストが、深いこの部分は、日数の計算をしているような気がします。

 =IF(U8="",IF(S8="",IF(Q8="",IF(O8="",IF(M8="",IF(K8="",IF(I8="","",H10),
 K8-G8+1),M8-G8+1),O8-G8+1),Q8-G8+1),S8-G8+1),U8-G8+1)

 L8、N8、P8、R8、T8の部分を文字列にしますと、このように書くことができるように思います。

 =IF(COUNT(K8:T8),LOOKUP(9^9,K8:U8)-G8+1,IF(I8="","",H10))
 あるいは、=IF(COUNT(K8:T8),MAX(K8:U8)-G8+1,IF(I8="","",H10))    

 もしも、K8、M8、O8、Q8、S8、U8が最近の日付ということでしたら、
 L8、N8、P8、R8、T8の部分に関係せず、このようにすることも考えられます。  (6UP)

 =IF(K8&M8&O8&Q8&S8&U8="",IF(I8="","",H10),RIGHT(K8&M8&O8&Q8&S8&U8,5)-G8+1)

コメント返信:

[ 一覧(最新更新順) ]


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