首页 > 解决方案 > 如何使用公式比较数组中的值

问题描述

我想设置一个公式来使用查找来获得基于相同供应商和风格的不同(最新VS最后)但失败....

例如:coco, gk, 8-Jun VS coco, gk, 2-Jun 单元格 E3 值 = -86

谁能帮忙?谢谢

在此处输入图像描述

标签: excelformulalookup

解决方案


为此,您需要一些公式。

每个公式都是一个数组公式,所以离开公式栏时必须使用CTRL++ 。SHIFTENTER

您首先需要找到您的供应商和样式的最后一个条目的值,但在获得值之前,您需要获取最后一个条目的行

=MAX(IF((A:A=A2)*(C:C=C2),ROW(A:A)-ROW(INDEX(A:A,1,1))+1))

将返回供应商和样式与 A2 和 C2 中的数据匹配的行号。

从行中,您可以使用返回值index

`index(D:D,MAX(IF((A:A=A2)*(C:C=C2),ROW(A:A)-ROW(INDEX(A:A,1,1))+1)),1)`

可以使用找到与条件匹配的具有最长日期的项目行

=IFERROR(MATCH(1,(A2=A:A)*(MAX(IF(A:A=A2,B:B))=B:B)*(C2=C:C),0),ROW())

使用索引的值

index(D:D,IFERROR(MATCH(1,(A2=A:A)*(MAX(IF(A:A=A2,B:B))=B:B)*(C2=C:C),0),ROW()),1)

将它们放在一起进行计算

=index(D:D,MAX(IF((A:A=A2)*(C:C=C2),ROW(A:A)-ROW(INDEX(A:A,1,1))+1)),1)-index(D:D,IFERROR(MATCH(1,(A2=A:A)*(MAX(IF(A:A=A2,B:B))=B:B)*(C2=C:C),0),ROW()),1)

推荐阅读