包含计数,组,订单功能的QUERY结果

时间:2019-06-25 09:19:24

标签: google-sheets google-sheets-formula array-formulas google-sheets-query gs-vlookup

我有5列要从查询中返回的数据,加上第一列的计数。

我想要做的其他几件事是仅包含活动的列表(由M列中的“包含”标签存储),并且希望数据被随机化(我通过创建一个随机数生成器来实现)在P列中)。最后两个都不显示。我想返回的数据位于Q,R,S,T,U列中。

我的数据如下:

M       N       O       P       Q           R       S       T       U
Active  Text    Text    RN      Phone#      ID      Name    Level   Location
Include text    text    0.51423 10000001    1223    Bob     Level 2 Boston
Include text    text    0.34342 10000005    2234    Dylan   Level 3 San Francisco
Exclude text    text    0.56453 10000007    2311    Janet   Level 8 Des Moines
Include text    text    0.23122 10000008    2312    Gina    Level 8 Houston
Include text    text            10000001    1225    Ronda   Level 3 Boston
Include text    text            10000001    1236    Nathan  Level 2 Boston

因此,理想情况下,结果应如下所示:

count Phone#    Phone#      ID      Name    Level       Location
3               10000001    1223    Bob     Level 2     Boston
1               10000005    2234    Dylan   Level 3     San Francisco
1               10000008    2312    Gina    Level 8     Houston

我不在乎电话号码后面会显示什么ID或姓名,只要它是列表中的号码之一即可。

现在,我已经能够使该函数单独工作(ORDER和COUNT),但是不能同时使两个函数一起工作:

工作:

=QUERY(Function!M:U, "SELECT count (Q), Q where O = 'Include' group by Q")

=QUERY(Function!M:U, "SELECT Q, R, S, T, U where O = 'Include' ORDER BY P DESC")

不起作用:

=QUERY(Function!M:U, "SELECT count (Q), Q group by Q, R, S, T, U where O = 'Include' group by Q ORDER BY P DESC, R, S, T, U")

=QUERY(Function!M:U, "SELECT count (Q), Q, R, S, T, U group by Q where O = 'Include' group by Q ORDER BY P DESC")

=QUERY(Function!M:U, "SELECT count (Q), Q group by Q where O = 'Include' group by Q ORDER BY P DESC, R, S, T, U")

也许有人对结合两种不同类型的语法有什么误解?非常感谢帮助! :)

1 个答案:

答案 0 :(得分:1)

=ARRAYFORMULA({"count Phone#", "Phone#", "ID", "Name", "Level", "Location"; 
 QUERY(Function!M3:U, 
 "select count(Q),Q where P is not null group by Q label count(Q)''", 0),
 IFERROR(VLOOKUP(INDEX(QUERY(Function!M3:U, 
 "select Q,count(Q) where P is not null group by Q label count(Q)''", 0),,1),
 QUERY(Function!M3:U, 
 "select Q,R,S,T,U where P is not null order by P desc", 0), {2, 3, 4, 5}, 0))})

0


单元格 P2

=ARRAYFORMULA({"RN"; IF(M3:M="Include", RANDBETWEEN(ROW(A3:A),99^9), )})