如何使 FILTER 公式忽略 Google 工作表中的空白单元格
How to make FILTER formula ignore blank cells in Google Sheets
我正在尝试为我们公司拥有的所有技术资源建立一个数据库。我想在另一个选项卡上搜索 table,用户可以在其中使用几个下拉菜单缩小他们要查找的内容。例如,他们可以从“设备”下拉列表中选择“笔记本电脑”,然后该列表将填充公司中的所有笔记本电脑。然后他们可以 select 从“办公室”下拉菜单中选择“拉斯维加斯”,它会填充拉斯维加斯办公室的所有笔记本电脑。
我一直在使用具有各种逻辑形式的 FILTER 公式。当我使用 AND 时,它正在考虑未使用的下拉列表中的空白单元格,因此它 returns #N/A 因为它找不到与 selections 匹配的任何行加上大量空白细胞。当我使用 OR 时,我最终会从数据库中获取几乎所有内容。
我试过同时使用 AND 和 OR,将 IF 语句与 <>"" 结合使用,以及结合所有这三个的各种变体,但没有任何效果。我有点不知所措。有什么方法可以让 FILTER 忽略空白单元格吗?
Link 到示例电子表格是 here。
在搜索中试试这个!E3:
=FILTER(Inventory!B4:I1000,if($C<>"",(Inventory!B4:B1000=$C),Inventory!B4:B1000<>$C)*if($C<>"",(Inventory!C4:C1000=$C),Inventory!B4:B1000<>$C)*if($C<>"",(Inventory!D4:D1000=$C),Inventory!B4:B1000<>$C)*if($C<>"",(Inventory!E4:E1000=$C),Inventory!B4:B1000<>$C)*if($C<>"",(Inventory!F4:F1000=$C),Inventory!B4:B1000<>$C)*if($C<>"",(Inventory!G4:G1000=$C),Inventory!B4:B1000<>$C)*if($C<>"",(Inventory!H4:H1000=$C),Inventory!B4:B1000<>$C)*if($C<>"",(Inventory!I4:I1000=$C),Inventory!B4:B1000<>$C))
使用:
=ARRAYFORMULA(QUERY({Inventory!B4:I}, "where "&TEXTJOIN(" and ", 1,
IF(C3:C10="",,"Col"&ROW(B3:B10)-2&" contains '"&C3:C10&"'"))))
我正在尝试为我们公司拥有的所有技术资源建立一个数据库。我想在另一个选项卡上搜索 table,用户可以在其中使用几个下拉菜单缩小他们要查找的内容。例如,他们可以从“设备”下拉列表中选择“笔记本电脑”,然后该列表将填充公司中的所有笔记本电脑。然后他们可以 select 从“办公室”下拉菜单中选择“拉斯维加斯”,它会填充拉斯维加斯办公室的所有笔记本电脑。
我一直在使用具有各种逻辑形式的 FILTER 公式。当我使用 AND 时,它正在考虑未使用的下拉列表中的空白单元格,因此它 returns #N/A 因为它找不到与 selections 匹配的任何行加上大量空白细胞。当我使用 OR 时,我最终会从数据库中获取几乎所有内容。
我试过同时使用 AND 和 OR,将 IF 语句与 <>"" 结合使用,以及结合所有这三个的各种变体,但没有任何效果。我有点不知所措。有什么方法可以让 FILTER 忽略空白单元格吗?
Link 到示例电子表格是 here。
在搜索中试试这个!E3:
=FILTER(Inventory!B4:I1000,if($C<>"",(Inventory!B4:B1000=$C),Inventory!B4:B1000<>$C)*if($C<>"",(Inventory!C4:C1000=$C),Inventory!B4:B1000<>$C)*if($C<>"",(Inventory!D4:D1000=$C),Inventory!B4:B1000<>$C)*if($C<>"",(Inventory!E4:E1000=$C),Inventory!B4:B1000<>$C)*if($C<>"",(Inventory!F4:F1000=$C),Inventory!B4:B1000<>$C)*if($C<>"",(Inventory!G4:G1000=$C),Inventory!B4:B1000<>$C)*if($C<>"",(Inventory!H4:H1000=$C),Inventory!B4:B1000<>$C)*if($C<>"",(Inventory!I4:I1000=$C),Inventory!B4:B1000<>$C))
使用:
=ARRAYFORMULA(QUERY({Inventory!B4:I}, "where "&TEXTJOIN(" and ", 1,
IF(C3:C10="",,"Col"&ROW(B3:B10)-2&" contains '"&C3:C10&"'"))))