Mac版Excel公式需求:按ID分组并检索组内是否含指定类型
Excel分组标记解决方案
针对你的需求——按ID分组,判断组内是否存在TYPE为CAR的行,统一标记MATCH列,以下是两种公式实现方案,适配不同Excel版本,且完全通过公式完成,方便后续修改检索参数:
方案1:适用于Excel 365/2021(动态数组,高效适配大文件)
在MATCH列的第一个数据单元格(比如C2)输入以下公式,公式会自动向下填充所有行:
=BYROW(A2:A6, LAMBDA(current_id, COUNTIFS(A:A, current_id, B:B, "CAR") > 0))
公式说明:
BYROW:遍历A2:A6的每一个ID值COUNTIFS:统计当前ID对应的行中,TYPE为CAR的数量- 最后通过
>0判断是否存在,返回TRUE或FALSE
如果你的数据是结构化表格(按Ctrl+T创建),可以用更高效的结构化引用,避免全列遍历:
=BYROW([@ID], LAMBDA(current_id, COUNTIFS([ID], current_id, [TYPE], "CAR") > 0))
方案2:适配所有Excel版本(兼容旧版)
在C2单元格输入以下公式,然后下拉填充至所有行:
=SUMPRODUCT(--(A$2:A$6=A2), --(B$2:B$6="CAR")) > 0
公式说明:
--:将逻辑判断结果转换为1(真)或0(假)SUMPRODUCT:计算当前ID对应的行中,TYPE为CAR的总行数>0判断是否存在符合条件的行,返回TRUE或FALSE
效果验证
代入你的示例数据后,输出结果与需求完全一致:
ID TYPE MATCH 12345 CAR TRUE 12345 TRUCK TRUE 54321 PLANE FALSE 54321 BOAT FALSE 12345 BOAT TRUE
后续修改检索参数时,只需把公式中的"CAR"替换成其他TYPE值即可。
内容的提问来源于stack exchange,提问作者kittonian
相关产品推荐
相关产品推荐

