Excel多最小值对应值提取问题:按A列唯一值匹配D列值
Excel公式解决方案:按分组提取最小日期对应的值
问题根源
原公式未限定A列的分组条件,直接查找整个C列的最小日期,导致L2匹配到了L1组最小日期对应的D值,无法区分分组。
方法1:使用INDEX+MATCH+MINIFS(适用于支持MINIFS的Excel版本)
这是最直观的写法,先按分组筛选出最小日期,再匹配对应D列值:
- 提取L1对应值的公式:
=INDEX(D:D, MATCH(MINIFS(C:C, A:A, "L1"), C:C, 0)) - 提取L2对应值的公式:
=INDEX(D:D, MATCH(MINIFS(C:C, A:A, "L2"), C:C, 0))
方法2:数组公式(兼容旧版Excel)
如果你的Excel版本不支持MINIFS,用数组公式实现分组取最小日期:
- 提取L1对应值的公式(输入后按
Ctrl+Shift+Enter确认):=INDEX(D:D, MATCH(MIN(IF(A:A="L1", C:C)), C:C, 0)) - 提取L2对应值的公式:
=INDEX(D:D, MATCH(MIN(IF(A:A="L2", C:C)), C:C, 0))
处理重复最小日期的情况
如果同一分组内存在多个相同的最小日期,上述公式会返回第一个匹配项。若要返回所有符合条件的D列值,用TEXTJOIN合并结果:=TEXTJOIN(", ", TRUE, IF((A:A="L1")*(C:C=MINIFS(C:C, A:A, "L1")), D:D, ""))
(替换"L1"为"L2"即可处理L2的情况)
内容的提问来源于stack exchange,提问作者Hytool
相关产品推荐
相关产品推荐

