excel - 将 VLOOKUP 与日期值函数结合

问题描述 投票:0回答:1

是否可以在 vlookup 中使用 DATEVALUE 函数?

我正在尝试在单独的工作表中查找日期,但日期格式为字符串,因此我想使用 DATEVALUE 函数来转换它。

我尝试过将日期值放在 vlookup 中的几个不同位置,但没有成功。

任何帮助将不胜感激!

excel vlookup
1个回答
0
投票

这里/截图参考-

当然可以 - 你只需要知道 vlookup 是如何工作的并进行相应的操作 - 我提供了你特别要求的解决方案,以及其他两种可能的查找方式,而无需首先“解析为日期格式”:


修订:请参阅此处了解如何为不同版本的 Excel 输入数组公式 - 这些公式对于 2010/Office 365 兼容版本的 Excel 均有效。

1] Vlookup

=VLOOKUP(G4,IFERROR(DATEVALUE(C4:D6),D4:D6),2,0)

与其他查找函数(例如 M2-M3、偏移量等)不同,vlookup 本身不能用作参考 - 它需要包含整个范围,然后在第一列上进行“透视”。 这就是为什么您可以查找包含有效文本格式日期的单列的日期值,但一旦引用更大的范围,日期值(更大范围)将返回该范围内无法转换为日期的任何值的错误。因此就有了 iferror 组件。

M1 - vlookup + iferror(datevalue,)


我怀疑根本目标是返回与您正在查找的文本的日期值相对应的单元格 - 无论是 vlookup 还是任何其他形式的查找,您都不能大惊小怪。 以下是实现此目标的另外两种方法:

2]总和

=SUM(1*(DATEVALUE(C4:C6)=G4)*(D4:D6))

M2 - Sum as a lookup function

(不常见,尽管是简约的查找工具)


3]索引

=INDEX(D4:D6,MATCH(G4,DATEVALUE(C4:C6),0))

Index


结束语

索引通常比 vlookup 更可取,因为它本身具有能够用作引用的优点(例如,您可以有

offset(index<>)
但没有
offset(vlookup<>))
- 这就是为什么索引可以查找列的左侧/右侧)查找列(vlookup 仅适用于右侧)。
vlookup()
的唯一优点是近似搜索功能(最终参数 = True 才能启用)。
Xlookup()
更通用;
offset()
是另一个“特殊/荣誉”提及。我没有提供示例 - 但也是可行的(尽管后者由于其不稳定的性质而具有负面的耻辱 - 但这是另一篇文章的内容!)


© www.soinside.com 2019 - 2024. All rights reserved.