Vlookup 和 match 似乎是根据我单元格中的函数而不是单元格中的值进行搜索的。我有一列包含日期(例如:C2,其中包含公式=E2&"/"&F2&"/"&D2
)。(其中 E2、F2、D2 是年份、月份和日期)。
在另一张表和列中,我有一堆日期,我正在使用公式
=VLOOKUP(C2,'sheet2'!A1:B252,2,FALSE),
这不起作用。(返回#N/A
)
如果我替换C2
为相同的日期,但不使用公式(只需输入公式),则VLOOKUP
有效。为什么会这样?
答案1
替换此公式
=E2&"/"&F2&"/"&D2
有了这个
=DATE(E2,F2,D2)
答案2
对于看到这个问题并想知道为什么会发生这种情况的人(剩下的就是这个难题的一个很好的答案),问题发生的原因是字符串函数产生文本结果。因此,Brandon S 使用文本搜索值(日期在 Excel 中存储为数字)(因为公式生成所需日期的文本表示,而不是 Excel 可以与搜索的数值匹配的数值)。
(这就是为什么答案无法变得更好!它采用相同的组件,甚至使用更少的字符将它们变成“真实”日期,变成数值,而不是文本。)