分组提取最近日期与价格

发布时间 2023-08-07 15:24:00作者: 熬肥妖

问题:提取各名称和编码的最高价、最低价、最近价和最近日期

函数公式解决:

名称与编码   =INDEX(UNIQUE($C$2:$D$200),ROW(A1),COLUMN(A1))
最高价        =MINIFS(F:F,C:C,I3,D:D,J3)
最低价        =MAXIFS(F:F,C:C,I3,D:D,J3)
最近价        =XLOOKUP(I3&J3&N3,C$1:C$200&D$1:D$200&G$1:G$200,F$1:F$200,,,-1)
最近日期    =MAXIFS(G:G,C:C,I3,D:D,J3)

名称和编码就是将数据源中C列与D列的唯一值提出,此处也可以直接用Unique(C2:D200)获得内存数组结果。

最高价和最低价就是根据名称和编码两个条件分别计算满足条件的单价的最大值和最小值。

最近日期是根据名称和编码两个条件计算满足条件入库时间的最大值。

最近价是利用Xlookup按名称、编码和最近日期三个条件进行查找。如果最近日期当天有多笔记录,第6参数缺省则从上往下返回第一个满足条件的值;第6参数为-1 时则从下往上返回最后一个满足条件的值。