Google sheets 如何编写输出与google query最常见组合的查询

Google sheets 如何编写输出与google query最常见组合的查询,google-sheets,google-sheets-query,Google Sheets,Google Sheets Query,我有一种情况,我有一个包含多个产品组合的事务ID列表。我正在尝试编写一个查询,以显示最常见的产品组合。在这个示例数据中,我在A中有事务ID,它将产品链接在一起,在B中有产品名称。我想要的是一个输出,它为我提供D和E中的信息-它不必看起来像那样,但需要提供相同的信息 我很想分享我目前的工作,但我完全不知道如何着手解决这个问题,所以任何想法都会受到热烈欢迎 试试这个。换句话说: =unique(A4:A25) 在D4中,放下并复制: =join(", ",query(FILTER(A4:B25,

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

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

试试这个。换句话说:

=unique(A4:A25)
在D4中,放下并复制:

=join(", ",query(FILTER(A4:B25,A4:A25=C4),"Select Col2"))
=JOIN(", ",SORT(TRANSPOSE(SPLIT(D4,", ",FALSE))))
在E4中,放下并复制:

=join(", ",query(FILTER(A4:B25,A4:A25=C4),"Select Col2"))
=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)

您可以隐藏C列、D列和E列。

请尝试以下公式:

=查询(
{UNIQUE(FILTER(A4:A,A4:A>0)),TRANSPOSE(SPLIT(JOIN(“,FILTER(B4:B&)”,“&if(A4:AOFFSET(A4:A,1,0),“|”,“A4:A0”),“,|”,“0”),
“选择Col2,COLL(Col1)group by Col2 order by COLL(Col1)desc label COLL(Col1)”””



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

太棒了!唯一的问题是,此解决方案依赖于以相同的顺序购买的产品,例如裤子、衬衫、鞋子-这是我的测试数据显示的-但我发现,如果交易具有相同的产品,但顺序不同,例如鞋子、衬衫,解决方案将其视为一个不同的组合,因为我猜它寻找的是相同的字符串,请尝试修改后的答案。它对连接的单元格中的单词进行排序。