我在 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
你的公式非常長,管理這麼複雜的公式非常困難。我的猜測是,括號 afterR2=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
)
)
)
)
)
)
)
)
)
)
)
)
)
)