Vlookup 公式对某些月份有效,但对其他月份出现 #value 错误

Vlookup 公式对某些月份有效,但对其他月份出现 #value 错误

这是我的公式:

=IFERROR(((VLOOKUP($D$2,UOS!$A$18:$AC$31,5))/30)*$G$2,"")

$D$2字段填充了=Text(c1,"mmmm")

当我使用此公式时,如果月份$D$2是 1 月、2 月、3 月、5 月、6 月、7 月、9 月、10 月或 11 月,公式$D$2就会起作用。但如果是 4 月、8 月或 12 月,公式就会不起作用。

表格数组按月份采用相同的格式。

如果我删除 IFERROR,会出现以下错误#value

我已经尝试了所有能想到的方法——格式化、将月份直接输入到 D2 中等等。

我该如何解决这个问题?

答案1

VLOOKUP(lookup_value, table_array, col_index_num) 假设表格按基本排序顺序(字母顺序、数字顺序和时间顺序)排序。由于是D2文本值(我假设列A包含文本字符串JanuaryFebruary、...),因此字母排序开始发挥作用。“April”、“August”和“December”按字母顺序排在“January”之前;这就是它们失败的原因。您需要将公式更改为

=IFERROR(((VLOOKUP($D$2,UOS!$A$18:$AC$31,5, 错误的))/30)*$G$2,"")

寻找完全匹配,而不是期望列表按字母顺序排列。


按字母顺序,“二月”也排在“一月”之前;你确定这样可行吗?

相关内容