[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『IFをあと2つ追加したいのですがエラーになってしまいます。』(たいへい)
=IF(TRUE=$F$5,F6/AC15*100,IF(TRUE=$G$5,G6/AC15*100,IF(TRUE=$H$5,H6/AC15*100,IF(TRUE=$I$5,I6/AC15*100,IF(TRUE=$J$5,J6/AC15*100,IF(TRUE=$K$5,K6/AC15*100,IF(TRUE=$L$5,L6/AC15*100,IF(TRUE=$M$5,M6/AC15*100,0))))))))
>追加出来ない理由としてIF関数を並べる数に限界があるのか、カッコを付ける数に 限界があるのか、それとも関数自体がおかしいのかそのへんもご説明頂けたら幸いです。
IF関数のネスト(入れ子)は7個まで、というがエクセルの仕様のようです。 (P)
式を書いたけど、参照間違い。削除。 (みやほりん)(-_∂)b
私もベタな式しか書けないので、ネストが7を超えるときは、隣のセルに続きを書いています。(prosit)
この数式が入力されるセルアドレス、および式をコピーする場合の方向を 教えてください。(みやほりん)(-_∂)b
この後の展開が、判りませんが、とりあえず、このようにしますと、 ご提示の数式と同様の結果が、得られるように思います。
=IF(OR(F5:O5),HLOOKUP(TRUE,F5:O6,2,)/AC15*100,0)
F5:O5がTRUE、FALSEということでは、ない場合には、 配列数式ですが、そのように変換して
=IF(OR(F5:O5),INDEX(F6:O6,MATCH(TRUE,IF(F5:O5,TRUE),))/AC15*100,0) Enterの代わりにCtrl+Shift+Enterとするものなのですが。。。 (LOOKUP)
1、名前の定義の使用
2、前後に分ける =IF(COUNTIF(F5:J5,TRUE),IF(TRUE=$F$5,F6/AC15*100,IF(TRUE=$G$5,G6/AC15*100, IF(TRUE=$H$5,H6/AC15*100,IF(TRUE=$I$5,I6/AC15*100,IF(TRUE=$J$5,J6/AC15*100,))))), IF(TRUE=$K$5,K6/AC15*100,IF(TRUE=$L$5,L6/AC15*100, IF(TRUE=$M$5,M6/AC15*100,IF(TRUE=$N$5,N6/AC15*100,IF(TRUE=$O$5,O6/AC15*100,))))
2の2(TRUEが一つの場合) =IF(TRUE=$F$5,F6/AC15*100,IF(TRUE=$G$5,G6/AC15*100, IF(TRUE=$H$5,H6/AC15*100,IF(TRUE=$I$5,I6/AC15*100,IF(TRUE=$J$5,J6/AC15*100,)))) +IF(TRUE=$K$5,K6/AC15*100,IF(TRUE=$L$5,L6/AC15*100, IF(TRUE=$M$5,M6/AC15*100,IF(TRUE=$N$5,N6/AC15*100,IF(TRUE=$O$5,O6/AC15*100,))))
3、他の関数を使用 =HLOOKUP(TRUE,F5:O6,2,)/AC15*100 =SUMIF(F5:O5,true,F6:O6)/AC15*100
by しげちゃん
衝突しました。 私のは、なにも考えないで、ただつなぐ工夫をしただけの例です。 長いので改行します。 =IF(OR(TRUE=$F$5,TRUE=$G$5,TRUE=$H$5), IF(TRUE=$F$5,F6/AC15*100,IF(TRUE=$G$5,G6/AC15*100,IF(TRUE=$H$5,H6/AC15*100,0))), IF(OR(TRUE=$I$5,TRUE=$J$5,TRUE=$K$5), IF(TRUE=$I$5,I6/AC15*100,IF(TRUE=$J$5,J6/AC15*100,IF(TRUE=$K$5,K6/AC15*100,0))), IF(OR(TRUE=$L$5,TRUE=$M$5,TRUE=$N$5,TRUE=$O$5), IF(TRUE=$L$5,L6/AC15*100,IF(TRUE=$M$5,M6/AC15*100,IF(TRUE=$N$5,N6/AC15*100,IF(TRUE=$O$5,O6/AC15*100,0)))) ,0))) 見直していないので、書き間違いがあるかも??? (sin) 文字数は432までだったかな?
よく見ると、よけいなものがありましたね
=IF(COUNTIF(F5:J5,TRUE),IF(TRUE=$F$5,$F$5,IF(TRUE=$G$5,G6,IF(TRUE=$H$5,H6,IF(TRUE=$I$5,I6,J6)))), IF(TRUE=$K$5,K6,IF(TRUE=$L$5,L6,IF(TRUE=$M$5,M6,IF(TRUE=$N$5,N6,O6)))))/AC15*100
by しげちゃん
HLOOKUPだな、って最初思ったのですが、もとの数式が絶対参照相対参照混在だった ので、最初に入力した式を下方向へコピーして使用するものでは?と思い至り、 一度提案した式を削除したのでした。 で、こんな式かな、と。 =IF(COUNTIF($F$5:$O$5,TRUE),HLOOKUP(TRUE,$F$5:O6,ROW(A2),FALSE)/AC15*100,0) LOOKUPさんの、OR関数の使い方が良いですね。 (みやほりん)(-_∂)b
あれ、もう一個載せといたと思ったけど、なくなってる。。。 んー。色々出てるから まっ、いっか〜。 載せ忘れかも知れないし、保存してなかったし。 (sin)
最初に(LOOKUP)さんが作って下さった物でうまく行きました。しかし、確かに(みやほりん)さんのお考えの通り飛び飛びですが下に55行コピーして使用したいと思って降りました。(みやほりん)さんの作って頂いたものでもうまく行きました。*(みやほりん)さん せっかく考えて下さっているのに返事をしていませんでした。お詫び致します。
他、先生方の関数でも出来ました。教えて頂いた関数ですが難しく理解するのには時間が掛かると思いますがしっかり勉強致します。また、(P)さん(sin)さんの御説明にも有りましたがいろんな制限がある事も今後大変参考になりました。皆様、本当に有難う御座いました。
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.