在Google表格中创建多列搜索框

我正在尝试使用Google表格上的SEARCH=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)) 函数创建一个多列搜索框。

我目前有一个名为“主客户表”的工作表,其中具有A列到O列,还有一个“ Search Tab”表,其中具有以下功能:

USW00003889,20180101,TMAX,122,7,1700
USW00003889,TMIN,-67,1700
UK000056225,TOBS,56,PRCP,snOW,7
USC00264341,snWD,1700
USC00256837,800
UK000056225,7
UK000056225,800
USW00003889,20180102,12,E
USW00003889,3,E
UK000056225,42,E
SWE00138880,50,a
USC00256480,700
USC00256480,7
USC00256480,700
SWE00138880,20180103,-228,800
SWE00138880,-328,800
USC00247342,7
SWE00137764,63,20180104,-43,W
USW00003889,-177,W

这使得当我在搜索框中键入某个关键字时,它将从主表中拉出适用的客户端。

当它只有5个“搜索”时,该功能就可以正常工作。但是,当我尝试添加更多内容时,该功能会将我的180个条目减少到一半。

我不知道如何解决它。任何帮助将不胜感激,谢谢!

machunhui1105 回答:在Google表格中创建多列搜索框

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

=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))))

这里的关键是ArrayFormula和

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"))

0

本文链接:https://www.f2er.com/3087594.html

大家都在问