[[20200805103121]] 『IF関数の追加について』(ふぅ) ページの最後に飛ぶ

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

 

『IF関数の追加について』(ふぅ)

 連投失礼致します。

 セルS4がAの場合は‥…Bの場合は…‥とIF関数をつなげたいのですが、
 下記の数式だと、FALSEになってしまいます。
 (関数を2つに分けると、結果は出ます)
 つなぎ方のどこが悪いのでしょうか‥

 =IF(S4="",L4,IF(S4="A",IF(WEEKDAY(L4,2)=1,L4,IF(WEEKDAY(L4,2)=2,L4-1,IF(WEEKDAY(L4,2)=3,L4-2,IF(WEEKDAY(L4,2)=4,L4-1,IF(WEEKDAY(L4,2)=5,L4-2,IF(S4="B",IF(WEEKDAY(L4,2)=1,L4,IF(WEEKDAY(L4,2)=2,L4-1,IF(WEEKDAY(L4,2)=3,L4-1,IF(WEEKDAY(L4,2)=4,L4-2,IF(WEEKDAY(L4,2)=5,L4-3,0)))))))))))))

 わかりにくい質問で申し訳ありませんが、よろしくお願いいたします。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


長い式を書くのは勝手ですが、デバッグはご自分でお願いします。
そして、式だけ書くより、どういう条件でどうなるかを一覧表の形で例示してもらったほうが、もっと良い式にできる案をもらいやすくなりますよ。

こんな式でも良かったりしますかね?

 =L4-INDEX(IF(S4="A",{0,1,2,1,2,0,0},IF(S4="B",{0,1,1,2,0,0,0},{0,0,0,0,0,0,0})),WEEKDAY(L4,2))
(???) 2020/08/05(水) 11:16

 >つなぎ方のどこが悪いのでしょうか‥

 S4="A" に対して、偽の場合が指定されてません。
 カッコが足りないんでしょう。

 ・S4 が「A」「B」、空白以外ならどうなればいいのか?
 ・L4 が土日ならどうなればいいのか?
 といったところがよくわかりませんが

 =IF(S4="",L4,L4-MID(IF(S4="A","0121200","0112300"),WEEKDAY(L4,2),1))

 参考まで 
(笑) 2020/08/05(水) 11:43  数式1つ削除 12:34

私は古いバージョンのエクセルを使っていますのでネストのエラーが出ます。
例えばVLOOKUP関数を使えば、式が整理できます。

下のVLOOKUP関数の3列の照合表を任意の位置に作成して仮に「VLL」という範囲名を
付けます。

WEEKDAY(L4,2)  A    B ←この行は不要(範囲名に含めない)

   1	         0	0
   2	         1	1
   3	         2	1
   4	         1	2
   5	         2	3
   6	         0	0
   7	         0	0

=IF(S4="",L4,L4-VLOOKUP(WEEKDAY(L4,2),VLL,IF(S4="A",2,3)))

(メジロ) 2020/08/05(水) 11:55


 みなまさ
 早々にご回答をありがとうございます。

 ???様の式を理解するのに時間が掛かってしまい、お礼が遅くなって申し訳ありません。
 ???様の式をやっとうまく反映させることができ、思い通りの結果がでるようになりました。

 笑様
 ありがとうございます。
 確かに偽の場合の設定ガされていませんでした。

 そのような方法もあるのですね。
 早速試してみます。

 メジロ様
 ありがとうございます。
 関数は本当に奥が深いです…
 理解に努めます。

 貴重なお時間を割いていただき、ありがとうございます。
 全て検証させていただきます。
 ありがとうございました。

(ふぅ) 2020/08/05(水) 14:06


式を理解されたのであればご自分で修正済みかと思いますが、私の数式だと、Bの場合の5番目の値が間違えていましたね、すいません。

数式は、変数が使えない分、マクロより難しいと思っています。 使える関数も少ないですし。 だから、一旦思ったものそのままに式を書いた後、同じ計算をしている部分や、順番を変えて共通化できる部分が無いか、見直してみると良いですよ。(同じ計算が多いなら、変数の代わりに、作業列を用意してみるのも手です)
(???) 2020/08/05(水) 14:32


コメント返信:

[ 一覧(最新更新順) ]


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