Excel:在给定某个值(IF、Index、Mode)的情况下,在数组中找到最常见的值

Excel: Find the most common value in array given a certain value (IF, Index, Mode)

我试图在给定先前值出现的范围内找到最常见的值,例如,如果共享邮箱 (Col C) 等于 Finance我是访问它的用户中最常见的 团队编号 (Col B):

我目前的功能是(明显忽略绝对单元格引用)

=INDEX($B:$B,MODE(MATCH($C:$C,$C:$C,0)))

我可以使用数据透视表执行此操作,但我需要将值插入单元格,数据透视表中的 vlookup 不会剪切它。也有数万行。但本质上,枢轴结果是我想要得到的,只是在一个单元格中通过公式。

这里是 table 的一个例子,它是一个基准,可以一瞥公式和结果。

Excel image with pivot

欢迎任何帮助。 干杯 马特

您可以使用数组公式。在 if

上使用 mode 函数
{=MODE(IF($C:$C=F4,$B:$B))}

例如参考图片:

您可能正在寻找这个公式:

=MODE.SNGL(IF(C1:C999="Finance",B1:B999))

CtrlShiftEnter

p.s。您可以用任何单元格引用替换硬编码的 "Finance"


编辑

实际上,如果只有一个匹配行,或两行具有不同的值,MODE 将失败,因为实际上没有单一模式。然后您想要 return 匹配 "first",因此将公式包装在 IFERROR 中并使用 INDEX/MATCH 替代:

=IFERROR(MODE.SNGL(IF(C1:C999="Finance",B1:B999)),INDEX(B:B,MATCH("Finance",C:C,0)))

CtrlShiftEnter