获取 Excel 列表中的最后一次出现

获取 Excel 列表中的最后一次出现

我有一个列表sheet1,想要获取页面中每个产品最后一次出现的内容bank

这是我正在使用的公式:

=INDEX(sheet1!$Y$52:$Y$1000,SUMPRODUCT(MAX(ROW(sheet1!$I$52:$I$1000)*($C218=sheet1!$I$52:$I$1000))-1))

它返回的结果与我期望的最新结果不匹配。

我在另一个只有 30 个项目可供搜索的测试页面中尝试了这个公式,并且它在该文件中运行良好。但是在我的主要主题文件中,它给出了错误的结果。

我将附加我的文件以便您查看。

https://drive.google.com/file/d/0B0mdhh2PWmIwUEU1MUVMX1l2TVE/view?usp=sharing

对于需要查看问题的人来说,这是屏幕截图:

在此处输入图片描述

在此处输入图片描述

答案1

在您复制的公式中,您显然没有理解 的意义-1。数组从第 2 行开始;由于 SUMPRODUCT 部分返回了绝对行号,因此-1对此进行了补偿。

在您的情况下,您的数组从第 52 行开始,因此您需要减去 51 来进行补偿。

例如:

=INDEX(sheet1!$Y$52:$Y$1000,SUMPRODUCT(MAX(ROW(sheet1!$I$52:$I$1000)*($C98=sheet1!$I$52:$I$1000))-51))

一个更短的公式,可以达到同样的目的:

=LOOKUP(2,1/($C108=sheet1!$I$52:$I$1000),sheet1!$Y$52:$Y$1000)

这是有效的,因为如果LOOKUP没有找到等于或大于查找的数字,它将匹配数组中的最后一个数字。该1/...部分返回一个数组,其中1包含 和DIV/0错误。因此,最后一个1匹配最后一个C108匹配的实例;我们从列中的相应位置返回Y

以下是显示所需结果的屏幕截图(根据您的屏幕截图):

在此处输入图片描述

在此处输入图片描述

相关内容