(Google 表格)如何查找出现次数矩阵的第 1 列和第 1 行值,其中这两个值都出现在数据中

问题描述 投票:0回答:1

编辑:我想要做什么的粗略想法:https://docs.google.com/spreadsheets/d/12rIUiuE-TSB0E3XRSnQ0YU9BCpuTsHfrUZXgCvxOE44/edit#gid=2100307022

我觉得这应该有一个非常简单的解决方案,但我无法解决......

基本上,我正在分析一张标签数据表,其中可以将多个标签应用于同一记录。我有兴趣了解哪些标签最常一起出现,因此我创建了一个这样的矩阵,在第一列和第一行中显示标签,以及它们在下面的计数矩阵中同时出现:

Simplified version of matrix - the version I'm using has 60 X and 60 Y items

在它下面,我从矩阵中提取了最高的数字(即 X 和 Y 值出现最多的位置 - 在上述情况下为 5),但我真的很难弄清楚如何简单地创建一个函数来找到每个的列和行标题值。

本质上,我最终想要例如在这种情况下:

5:A & D(其中 5 = A 和 D 一起出现的次数) (加上同时出现次数大于 X 的任何其他内容)

我很有可能被这个问题困在树林里,并且有一种更简单的方法可以做到这一点,或者我只是忽略了一个可以使用的简单公式,但目前我想不出一个代码来为此创建不会非常长或耗时。

我已经想到了使用 MATCH 和 INDEX 来实现这一点的方法,但是我对这些函数并不是特别擅长,并且无法弄清楚如何在像这样的二维数组中使用它们。我也考虑过使用 FILTER、FLATTEN 和不同 LOOKUPS 的组合,但同样无法解决。

任何帮助将不胜感激。

matrix google-sheets-formula lookup-tables
1个回答
0
投票

这是您可以测试的一种方法:

=let(Σ,sort(unique(reduce(,O2:X11,lambda(a,c,vstack(a,{c,torow(sort(tocol({index(N1:N11,row(c)),index(A1:X1,column(c))}),1,))})))),1,),
       filter(Σ,index(Σ,,1)>=3,--index(Σ,,1)))
  • X 值被视为
    >=3
    用于测试目的

© www.soinside.com 2019 - 2024. All rights reserved.