如何按最大值筛选表格?Filter函数范围不匹配报错解决
修正FILTER函数获取最大值对应行的方案
你的公式报错是因为FILTER的条件参数要求和待筛选数据的行数一致,但你用MAX(PRODUCT[VALUE])只返回了单个值,导致范围不匹配。
直接把条件改成判断每行的VALUE是否等于最大值即可,修正后的公式有两种写法:
写法1(手动指定列)
=IF(ISBLANK(F3), "", FILTER({PRODUCT[LABEL], PRODUCT[TRANSLATION], PRODUCT[VALUE]}, PRODUCT[VALUE]=MAX(PRODUCT[VALUE])))
写法2(直接引用整个结构化表格)
如果需要返回整行所有列,这种写法更简洁:
=IF(ISBLANK(F3), "", FILTER(PRODUCT, PRODUCT[VALUE]=MAX(PRODUCT[VALUE])))
原理说明:PRODUCT[VALUE]=MAX(PRODUCT[VALUE])会生成一个和VALUE列行数相同的布尔数组,每一行对应判断该行的VALUE是否等于最大值,FILTER会基于这个数组筛选出符合条件的行。
内容的提问来源于stack exchange,提问作者Heather Howell
相关产品推荐
相关产品推荐

