Google Sheets中按相同编码及最新日期返回D列值至E列的实现
解决Google Sheets按编码匹配最新日期对应金额的问题
需求说明
表格各列定义:
- A列:日期
- B列:编码(Code #)
- C列:总金额(Whole Amt)
- D列:当前金额(Amt as of now)
- E列需实现:针对每行的编码,返回该编码下最新日期对应的D列金额数值
解决方案
你之前用INDEX+MATCH+MAX组合没成功,问题出在没限定仅匹配当前编码的日期范围。以下是两种可行公式:
单单元格公式(需下拉填充)
在E2单元格输入公式后,下拉到其他行即可:=INDEX(D:D, MATCH(MAXIFS(A:A, B:B, B2), A:A, 0))
或者用更简洁的XLOOKUP函数:=XLOOKUP(MAXIFS(A:A, B:B, B2), A:A, D:D,, 0, -1)
整列自动填充公式(无需下拉)
如果想让E列自动对所有行计算,用ARRAYFORMULA批量处理:=ARRAYFORMULA(IF(B2:B="", "", XLOOKUP(MAXIFS(A:A, B:B, B2:B), A:A, D:D,, 0, -1)))
公式解释
MAXIFS(A:A, B:B, B2):筛选出当前行编码(B2)对应的所有日期,取其中最大的(也就是最新的)日期值- 不管是INDEX+MATCH还是XLOOKUP,都是基于这个最新日期,在A列找到对应行,返回该行的D列金额值
内容的提问来源于stack exchange,提问作者swayingtrees
相关产品推荐
相关产品推荐

