在 Excel 中,如何为多列(行)数组的 FILTER() 提供“TRUE”行(列)过滤器

在 Excel 中,如何为多列(行)数组的 FILTER() 提供“TRUE”行(列)过滤器

在 Excel 中,按条件筛选单列数组中的行很简单。类似下面的代码将仅在以下情况下筛选数组:状况满足:

=FILTER(A1:A10,IF(condition,filter,TRUE))

但是,这对于多列数组不起作用。例如,对于 2 列数组,以下返回 #VALUE!

=FILTER(A1:B10,IF(condition,filter,TRUE))

相反,需要以下内容

=FILTER(A1:B10,IF(condition,filter,{TRUE,TRUE}))

第二个分支(TRUE)的一般形式是什么?是否只需创建一个长度为 COLUMNS(my_array) 的 TRUE 值水平向量?如果是这样,那么最好的做法是什么?

答案1

您可以双向过滤二维范围或表格,但不能同时进行。您必须以任意顺序分别对行和列使用 FILTER 函数。
应针对单行或单列制定条件。您可以添加条件(+均值OR)或乘以(*均值AND)。避免使用ANDOR函数,因为它们会产生单一结果,而不是数组,因此只能在特殊场合使用。
请参见下面的示例。
滤波 2D 范围

相关内容