Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets 在Google Sheets中创建多列搜索框_Google Sheets_Filter_Google Sheets Formula_Array Formulas_Google Sheets Query - Fatal编程技术网

Google sheets 在Google Sheets中创建多列搜索框

Google sheets 在Google Sheets中创建多列搜索框,google-sheets,filter,google-sheets-formula,array-formulas,google-sheets-query,Google Sheets,Filter,Google Sheets Formula,Array Formulas,Google Sheets Query,我正在尝试使用Google Sheets上的过滤器和搜索功能创建一个多列搜索框 我目前有一张名为“主客户表”的表,其中A列到O列,还有一张“搜索选项卡”表,其中我有以下功能: =filter('Master Client Sheet'!A3:N,search(A2,'Master Client Sheet'!A3:A),search(B2,'Master Client Sheet'!B3:B),search(C2,'Master Client Sheet'!C3:C),search(D2,'Ma

我正在尝试使用Google Sheets上的
过滤器
搜索
功能创建一个多列搜索框

我目前有一张名为“主客户表”的表,其中A列到O列,还有一张“搜索选项卡”表,其中我有以下功能:

=filter('Master Client Sheet'!A3:N,search(A2,'Master Client Sheet'!A3:A),search(B2,'Master Client Sheet'!B3:B),search(C2,'Master Client Sheet'!C3:C),search(D2,'Master Client Sheet'!D3:D),search(E2,'Master Client Sheet'!E3:E))
这样,当我在搜索框中键入某个关键字时,它会从主控表中提取适用的客户端

当它只有5个“搜索”时,该函数工作得非常好。但当我尝试添加更多内容时,该函数会将我的180个条目减少一半


我不知道怎么修理它。任何帮助都将不胜感激,谢谢

出现错误的原因是,search()将始终返回一个#值错误。如果使用现有代码搜索空白单元格以解决此问题,则可以包装数组公式并使任何内容“等于”,以便它不会返回错误

=arrayformula(filter('Master Client Sheet'!A2:N,search(A2,'Master Client Sheet'!A2:A),search(B2,'Master Client Sheet'!B2:B),search(C2,'Master Client Sheet'!C2:C),search(D2,'Master Client Sheet'!D2:D),search(E2,if('Master Client Sheet'!E2:E=""," ",'Master Client Sheet'!E2:E))))
这里的关键补充是数组公式和

if('Master Client Sheet'!E2:E=""," ",'Master Client Sheet'!E2:E)

也就是说,如果某个内容为空,则将其设置为空白,以便搜索函数可以返回无错误的结果。对于可能包含空白信息的任何列,您必须将此if语句包装。

出现此错误的原因是,如果您搜索空白单元格以使用现有代码解决此问题,则search()将始终返回一个#值错误。您可以包装数组公式并使任何内容“等于”这样它就不会返回错误

=arrayformula(filter('Master Client Sheet'!A2:N,search(A2,'Master Client Sheet'!A2:A),search(B2,'Master Client Sheet'!B2:B),search(C2,'Master Client Sheet'!C2:C),search(D2,'Master Client Sheet'!D2:D),search(E2,if('Master Client Sheet'!E2:E=""," ",'Master Client Sheet'!E2:E))))
这里的关键补充是数组公式和

if('Master Client Sheet'!E2:E=""," ",'Master Client Sheet'!E2:E)
也就是说,如果某个内容为空,则将其设置为空白,以便搜索函数可以返回无错误的结果。您必须为可能包含空白信息的任何列包装此if语句。

尝试如下操作:

=ARRAYFORMULA(IFNA(QUERY(TO_TEXT('Master Client Sheet'!A2:J), "where "&TEXTJOIN(" and ", 1, 
 IF(A2:J2<>"", "lower(Col"&COLUMN(A2:J2)&") contains '"&LOWER(A2:J2)&"'", )), 0), 
 "no such data"))
=ARRAYFORMULA(IFNA(查询(至_TEXT('Master Client Sheet')!A2:J),“where”&TEXTJOIN(“and”),1,
如果(A2:J2)“下部(列”和列(A2:J2)和“)包含“,”和下部(A2:J2)和“,”),则为0),
“无此类数据”))

试着这样做:

=ARRAYFORMULA(IFNA(QUERY(TO_TEXT('Master Client Sheet'!A2:J), "where "&TEXTJOIN(" and ", 1, 
 IF(A2:J2<>"", "lower(Col"&COLUMN(A2:J2)&") contains '"&LOWER(A2:J2)&"'", )), 0), 
 "no such data"))
=ARRAYFORMULA(IFNA(查询(至_TEXT('Master Client Sheet')!A2:J),“where”&TEXTJOIN(“and”),1,
如果(A2:J2)“下部(列”和列(A2:J2)和“)包含“,”和下部(A2:J2)和“,”),则为0),
“无此类数据”))

请提供一个超级简化的示例和示例数据。。。显示1)样本原始数据2)所需输出3)当前输出的公式@CodeCamper@CodeCamper这是一个示例的链接。“搜索”选项卡从主客户端工作表中提取,并根据在浅粉色行中键入的内容进行筛选。例如,如果我在寻找“Cane Corso”和“Delivery”,它会缩小搜索范围。很好,这个例子似乎很好,你能让它不按预期运行吗?或者给我一些指示让它不按预期运行吗?这个例子很好,因为几乎没有客户。。。我的实际列表有180个客户机,函数只显示76个。我将看看是否可以在我的示例中复制它。请提供一个带有示例数据的超级简化示例。。。显示1)样本原始数据2)所需输出3)当前输出的公式@CodeCamper@CodeCamper这是一个示例的链接。“搜索”选项卡从主客户端工作表中提取,并根据在浅粉色行中键入的内容进行筛选。例如,如果我在寻找“Cane Corso”和“Delivery”,它会缩小搜索范围。很好,这个例子似乎很好,你能让它不按预期运行吗?或者给我一些指示让它不按预期运行吗?这个例子很好,因为几乎没有客户。。。我的实际列表有180个客户机,函数只显示76个。我将看看是否可以在我的示例中复制它。