如何使用谷歌查询编写输出最常见组合的查询

时间:2017-05-08 17:00:31

标签: google-sheets google-sheets-query

我的情况是,我有一个包含多个产品组合的交易ID列表。我试图编写一个查询,向我展示最常见的产品组合。在这个示例数据中,我在A中有交易ID,它将产品链接在一起,产品名称在B中。我想要的是一个输出,它给我D和E中的信息 - 它不需要看起来像这样,但需要提供相同的信息。

我很想分享我目前的工作情况,但我完全不知道如何开始解决这个问题,所以任何想法都会受到热烈欢迎。

https://docs.google.com/spreadsheets/d/1flJ4yM-E8v7A2nRMjjR1J27oqVa-eE5-8wH7TFd6UQg/edit#gid=1452792924

enter image description here

2 个答案:

答案 0 :(得分:2)

试试这个。在C4中:

=unique(A4:A25)

在D4中放下并复制:

=join(", ",query(FILTER(A4:B25,A4:A25=C4),"Select Col2"))

在E4中放下并复制:

=JOIN(", ",SORT(TRANSPOSE(SPLIT(D4,", ",FALSE))))

在F4中:

=QUERY({E:E,E:E},"select Col1, count(Col2) where Col1 != '' group by Col1 order by count(Col2) desc  label count(Col2) ''",1)

你可以隐藏Col C,D和&即

答案 1 :(得分:0)

请尝试以下公式:

=QUERY( {UNIQUE(FILTER(A4:A,A4:A>0)),TRANSPOSE(SPLIT(JOIN("",FILTER(B4:B&", "&if(A4:A<>OFFSET(A4:A,1,0),"|",""),A4:A<>0)),", |",0))}, "select Col2, count(Col1) group by Col2 order by count(Col1) desc label count(Col1) ''")

公式假定Ids列表已排序。如果没有,那么我建议先对数据进行排序。