需要按字符串和优先级对列进行排序

时间:2020-05-01 05:40:04

标签: google-sheets

我目前正在使用查询从表中拉出列表来搜索“书”,得到的结果在下面,但是我需要根据需要跨越多列的首选项对列表进行排序。

=QUERY(A2:F6, "select A, B, C, D, E, F where B='Book' or C='Book' or D='Book' or E='Book' or F='Book' ")

我尝试使用Order by,但似乎仅可用于字母,不能定义字符串

所以我有

Name    1st     2nd         3rd           4th           5th
Bill    Book            
Ted                                                     Book    
Joe                         Book                
Larry   Book         
Lisa                                      Book

它需要看起来像这样

Name    1st     2nd         3rd             4th         5th
Bill    Book            
Larry   Book    
Joe                         Book                
Lisa                                        Book         
Ted                                                     Book

谢谢

2 个答案:

答案 0 :(得分:1)

在查询之外使用 SORT函数,并按第一列的升序进行排序:

=SORT(QUERY(A2:F6, "select A, B, C, D, E, F where B='Book' or C='Book' or D='Book' or E='Book' or F='Book' "),1,1)

enter image description here

使用的功能:

答案 1 :(得分:0)

我们只需要在第二到第六列的查询中添加一个ORDER BY子句,并且顺序应该是降序排列。以下查询将为您提供所需的输出:

=QUERY(A2:F6, "select A, B, C, D, E, F where B='Book' or C='Book' or D='Book' or E='Book' or F='Book' ORDER BY B desc,C desc,D desc,E desc,F desc")

输出将如下所示:

Name    1st     2nd         3rd             4th         5th
Bill    Book            
Brian   Book    
Joe                         Book                
Lisa                                        Book         
Ted                                                     Book