QUERY:SELECT 并且仅显示 A,其中 F2 为真; order by I 其中 F12 为真,limit 5 其中 F36 为真

QUERY: SELECT and show only A where F2 is true; order by I where F12 is true, limit 5 where F36 is true

我正在尝试通过 google 表格查询功能分析股票和 ETF。

这个函数是运行.

在下一步中,我想将主要功能扩展一些 features/filters。

这是我尝试过的 features/filters 成功与否...

特征 1:Select 仅来自数据 A --> 当 F2 为真时

=query(WATCHLIST!A1:BC;"Select " &E2& " where " &E2& " ="&(IF(F2=TRUE;E2;""))&"")

加长版

=query(WATCHLIST!A1:BC;"Select " &E2& ","&E4&",I where " &E2& " ="&(IF(F2=TRUE;E2;""))&" or where " &E4& " ="&(IF(F4=TRUE;E4;""))&"")

特征 2:Select 来自 CLASS,其中 C 包含 DIVIDEND

=query(WATCHLIST!A1:BC;"select A,C,I where C='"&(IF(B2=TRUE;A2;""))&"'") 

这个函数是运行.

特点 3:按 I desc 排序,其中 F24 为真

我不确定如何用 where 子句解决它。就我而言,它不是 运行

特性 4:F36 为真时限制 5

我不确定如何用 where 子句解决它。就我而言,它不是 运行

也许有人有一些想法。这太棒了。

=ARRAYFORMULA(QUERY(WATCHLIST!A1:BC; 
 "select "&TEXTJOIN(","; 1; FILTER(E2:E21; F2:F21=TRUE))&" 
  where C matches '"&TEXTJOIN("|"; 1; FILTER(A2:A; B2:B=TRUE))&"'"&
  IF(COUNTIF(F24:F33; TRUE)>0; "order by "&TEXTJOIN(","; 1; FILTER(E24:E33; F24:F33=TRUE))&
  IF(F36=TRUE; " limit 5"; ); ); 1))