提升Excel效率:精简FILTER函数使用技巧 点击使用AI助手 了解更多

发布于 2024-11-20 liusiyang 5 编辑

提问贴传送门:https://bbs.wps.cn/topic/19413

原公式使用FILTER函数来过滤出范围A2:B29中,其列A的值不等于C2到C17中任一单元格的值的数据。

这是优化后的公式

=FILTER(A2:B29, NOT(ISNUMBER(MATCH(A2:A29, C2:C17, 0))))

优化说明:

  1. MATCH(A2:A29, C2:C17, 0):这部分会尝试在范围C2:C17中查找A2:A29中的每个值。如果找到匹配项,它会返回该匹配项在C2:C17中的相对位置;如果没有找到,它会返回错误。

  1. ISNUMBER(...):这部分会检查MATCH函数是否返回了一个数字(即是否找到了匹配项)。

  1. NOT(...):这部分会反转ISNUMBER的结果。如果ISNUMBER返回TRUE(即找到了匹配项),NOT会返回FALSE;如果ISNUMBER返回FALSE(即没有找到匹配项),NOT会返回TRUE

  1. FILTER(A2:B29, ...):最后,FILTER函数会根据上述条件过滤出范围A2:B29中的数据。只有当列A中的值在C2:C17中没有匹配项时,相应的行才会被包含在结果中。

优化前的公式:

=FILTER(A2:B29,(A2:A29<>C2)*(A2:A29<>C3)*(A2:A29<>C4)*(A2:A29<>C5)*(A2:A29<>C6)*(A2:A29<>C7)*(A2:A29<>C8)*(A2:A29<>C9)*(A2:A29<>C10)*(A2:A29<>C11)*(A2:A29<>C12)*(A2:A29<>C13)*(A2:A29<>C14)*(A2:A29<>C15)*(A2:A29<>C16)*(A2:A29<>C17))

231个字符

优化后的公式:

=FILTER(A2:B29, NOT(ISNUMBER(MATCH(A2:A29, C2:C17, 0))))

56个字符

原文链接:https://bbs.wps.cn/topic/19416

上一篇: WPS从入门到熟练的快速指南
下一篇: WPS表格排序技巧:轻松实现销售数据降序与筛选
相关文章