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
我试图在给定先前值出现的范围内找到最常见的值,例如,如果共享邮箱 (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