Excel の IF ステートメントで #VALUE エラーが繰り返し発生します。原因は何かご存知ですか? ご協力いただければ幸いです。
=IF(
OR(
R2 > 3
),
0,
( IF(
R2 = 1,
( IF(
K2 <- 0.1,
1,
IF(
AND(
K2 >- 0.1,
K2 <- 0.05
),
2,
IF(
AND(
K2 >=- 0.5,
K2 < 0
),
3,
IF(
AND(
K2 >= 0,
K2 <= 0.05
),
4,
IF(
AND(
K2 > 0.05,
K2 <= 0.15
),
5,
IF(
AND(
K2 > 0.15,
K2 <= 0.3
),
6,
7
)
)
)
)
)
) ,
IF(
R2 = 2,
( IF(
K2 <- 0.1,
8,
IF(
AND(
K2 >- 0.1,
K2 <- 0.05
),
9,
IF(
AND(
K2 >=- 0.5,
K2 < 0
),
10,
IF(
AND(
K2 >= 0,
K2 <= 0.05
),
11,
IF(
AND(
K2 > 0.05,
K2 <= 0.15
),
12,
IF(
AND(
K2 > 0.15,
K2 <= 0.3
),
13,
14
)
)
)
)
)
) ,
IF(
R2 = 3,
( IF(
K2 <- 0.1,
15,
IF(
AND(
K2 >- 0.1,
K2 <- 0.05
),
16,
IF(
AND(
K2 >=- 0.5,
K2 < 0
),
17,
IF(
AND(
K2 >= 0,
K2 <= 0.05
),
18,
IF(
AND(
K2 > 0.05,
K2 <= 0.15
),
19,
IF(
AND(
K2 > 0.15,
K2 <= 0.3
),
20,
21
)
)
)
)
)
) )
) )
) )
) )
)
答え1
数式が非常に長いため、このような複雑な数式を管理するのは非常に困難です。私が推測するに、括弧 after はR2=1
数式全体の最後でのみ閉じられており (以下の注記を参照)、ネストされた構造全体の管理が誤っていますIF
。
同じことを適度な複雑さで実行するには、次の式を使用することを提案します。
=IF(R2>3,0,IFERROR(MATCH(K2,{-0.1,-0.05,0,0.05,0.15,0.3},1)+1,1)+(R2-1)*7)
オリジナルのフォーミュラ:
=IF(
OR(R2>3),
0,
(IF(
R2=1,( ## this bracket is closed only at the end of the formula ##
IF(
K2<-0.1,
1,
IF(
AND(K2>-0.1,K2<-0.05),
2,
IF(
AND(K2>=-0.5,K2<0),
3,
IF(
AND(K2>=0,K2<=0.05),
4,
IF(
AND(K2>0.05,K2<=0.15),
5,
IF(
AND(K2>0.15,K2<=0.3),
6,
7
)
)
)
)
)
),
IF(
R2=2,(
IF(
K2<-0.1,
8,
IF(
AND(K2>-0.1,K2<-0.05),
9,
IF(
AND(K2>=-0.5,K2<0),
10,
IF(
AND(K2>=0,K2<=0.05),
11,
IF(
AND(K2>0.05,K2<=0.15),
12,
IF(
AND(K2>0.15,K2<=0.3),
13,
14
)
)
)
)
),
IF(
R2=3,(
IF(
K2<-0.1,
15,
IF(
AND(K2>-0.1,K2<-0.05),
16,
IF(
AND(K2>=-0.5,K2<0),
17,
IF(
AND(K2>=0,K2<=0.05),
18,
IF(
AND(K2>0.05,K2<=0.15),
19,
IF(
AND(K2>0.15,K2<=0.3),
20,
21
)
)
)
)
)
)
)
)
)
)
)
)
)
)