【问题标题】:Google Sheets query - conditional limits for ties?谷歌表格查询 - 关系的条件限制?
【发布时间】:2017-03-28 10:22:31
【问题描述】:

我在 Google 表格中有一个 Google 表单的结果,该表单让参与者对各种选项进行投票。一个问题的结果如下所示:

 Activity
-------------
|Bowling    |
|Karaoke    |
|Karaoke    |
|Games Night|
|Bowling    |
|Karaoke    |

我想要做的是有一个查询,它将计算列中每个选项的票数,然后显示顶部结果。因此,对于上述信息,它将显示“Karaoke”。我有一个适用于此的查询(如下)。我从一个论坛的回复中改编了这个,所以如果有更好的方法,我不固定。

=query(index(if({1,0},unique(A2:A12),countif(A2:A12,unique(A2:GX12)))),"select Col1, Col2 where Col1<>'' limit 1",0)

我的问题是,我可以在查询中使用“限制 1”来仅显示一项,但如果有 2 路或 3 路领带作为首选呢?有没有一种方法,如果它是唯一的最大值,我可以只显示一个选项,但如果最大值有 2 路平局,则显示 2,如果有 3 路平局,则显示 3,等等?

例如,在上面的数据中,它只会显示

|Karaoke    |

但如果下一个人投票给保龄球,就会出现平局,所以我要显示

|Karaoke    |
|Bowling    |

这有意义吗?到目前为止我发现的解决方案是在 SQL 或 postgreSQL 中,在 Google 表格中不起作用。

提前致谢。 --埃里克

【问题讨论】:

    标签: google-sheets sql-limit


    【解决方案1】:

    试试这个公式:

    =QUERY(ArrayFormula(QUERY(A:A&amp;{"",""},"select Col1, count(Col2) group by Col1")),"select Col1 where Col2="&amp;MAX(COUNTIF(A:A,A:A)),0)

    【讨论】:

    • 是的!这样可行!惊人!谢谢你。我必须在第二个 Select 语句中添加一个 Col1'' 来删除空格,并且 COUNTIF 需要它自己的 ArrayFormula,但它确实让我走上了正确的轨道。我不知道你可以嵌套这样的查询。
    • 另一个小提示给其他人看这个,这不提供列的标题。对于有标题的另一种用途,两个查询都需要在末尾添加一个“,1”参数。
    猜你喜欢
    • 2021-12-06
    • 1970-01-01
    • 1970-01-01
    • 2017-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多