首页 > 解决方案 > 返回日期和要操作的人员 (VBA) 的行中的最后一个值

问题描述

我希望构造 2 个当前状态列,以便在 Excel 中的每一行中找到最后一个值:

请参阅所附的 jpg 要返回日期和要执行的人员的行中的最后一个值

我曾尝试使用 excel 函数,即INDEXLOOKUP但由于表中的 3 Remarks 列而无济于事。

如果您能建议我如何为上述查询编写 VBA 代码,我将不胜感激。

来自 LC TAN 2020-02-13

在此处输入图像描述

标签: excelvba

解决方案


您可以使用MAX日期来查找该行中的最新日期。

然后,您可以使用IFERRORVLOOKUP查找具有该日期的操作。即查找MAX在第一组列中返回的日期,如果返回错误,则查看第二组。如果第二个返回错误,请查看第三个。

根据您的工作表,L6 的公式为=MAX(B5:I5)

M6 的公式为=IFERROR(VLOOKUP(L5,B5:C5,2,FALSE),IFERROR(VLOOKUP(L5,E5:F5,2,FALSE),VLOOKUP(L5,H5:I5,2,FALSE)))

然后,您可以向下拖动单元格以填充每一行的日期和操作。如果您愿意,您可以使用 VBA 实现相同的效果,但我认为这是获得所需结果的最简单方法。


推荐阅读