已编辑(在澄清问题并进行一些改进以确保答案独立后,无需参考外部电子表格)
我使用“ FILTER()
”、“ UNIQUE()
”和“ SORT()
”的组合,以及计算的频率(使用 确定COUNTIFS
)。请参阅下面的样本表,取自您的。
它不是单格公式,但简单易懂。
电子表格的结构如下:
频道在 A 列中,相关媒体在 B 列中,给定 (Channel, Media) 对的频率在 C 列中,由(例如,在 C2 中)给出
=countifs($B$2:$B;"=" &B2;$A$2:$A;"=" & A2)
然后使用=UNIQUE(B2:B)
. 在给定的唯一介质附近(例如,在单元格 F13 中),然后我确定与该选定介质相关的所有配对,并创建一个按最常见的此类配对排序的数组:
=transpose(unique(transpose(array_constrain(transpose(sort(filter($A$2:$C;$B$2:$B=F13);3;FALSE));1;10))))
这通过过滤掉所选媒体(在 F13 中选择)的所有对(具有对频率),按对频率(即,第 1、第 2、第 3 个重复出现的媒体)对列表进行排序,修剪数组以仅显示媒体,然后删除重复的条目(因为每次重复给定的配对时,我们都有一个重复的条目,即不止一次看到)。 Transpose
之所以使用,是因为Unique
不适用于行数组,只能用于列数组。
该公式适用于分别添加到 A 列和 B 列的任何其他渠道和媒体。
公式中的“10”是指期间保留的列数,array_constrain()
可以任意高。
对原始帖子的修改:
为了完成这项工作,我不得不在原始答案中相互交换媒体和频道列,然后添加一个列 C,它是该配对的频率,我后来用它来排序1st、2nd 等.. 最受欢迎的频道。