我制作了一个'Summary‘工作表,我需要告诉我从另一个选项卡('Company Ltd')的一行中最频繁出现的文本值,但要排除值'?’。
这就是我所拥有的,它确实可以很好地为我提供模式,但是由于行中包含了每个单元格中的下拉列表(在“数据验证”中制作),这些单元格都有一个默认值“?”值时,我需要排除这些值以停止模式为'?‘我不知道如何将它添加到下面的公式中。我绝对不是Excel高手!
=索引( 'Company Ltd'!$E$51:$CZ$51,MODE(MATCH('Company Ltd'!$E$51:$CZ$51,‘Company Ltd’!$E$51:$CZ$51,0))
希望你能帮上忙!
非常感谢
发布于 2018-09-12 11:27:44
下面的公式确定最频繁的值。如果恰好是"?“然后,它返回第二个最频繁的值。
这些是数组公式,输入时必须按Ctrl + Shift + Enter
=IF(INDEX('Company Ltd'!$E$51:$CZ$51,MODE(MATCH('Company Ltd'!$E$51:$CZ$51,'Company Ltd'!$E$51:$CZ$51,0)))<>"?",INDEX('Company Ltd'!$E$51:$CZ$51,MODE(MATCH('Company Ltd'!$E$51:$CZ$51,'Company Ltd'!$E$51:$CZ$51,0))),INDEX('Company Ltd'!$E$51:$CZ$51,MAX(IF(MATCH('Company Ltd'!$E$51:$CZ$51,'Company Ltd'!$E$51:$CZ$51,0)<MODE(MATCH('Company Ltd'!$E$51:$CZ$51,'Company Ltd'!$E$51:$CZ$51,0)),MATCH('Company Ltd'!$E$51:$CZ$51,'Company Ltd'!$E$51:$CZ$51,0)))))
或者,您可以将范围命名为'Company Ltd'!$E$51:$CZ$51作为"rng“,并使用以下更简洁的公式:
=IF(INDEX(rng,MODE(MATCH(rng,rng,0)))<>"?",INDEX(rng,MODE(MATCH(rng,rng,0))),INDEX(rng,MAX(IF(MATCH(rng,rng,0)<MODE(MATCH(rng,rng,0)),MATCH(rng,rng,0)))))
最后,如果您需要能够处理空白单元格(这会将它们转换为?并且它们被排除在外):
=IF(INDEX(rng,MODE(MATCH(SUBSTITUTE(rng,"","?"),SUBSTITUTE(rng,"","?"),0)))<>"?",INDEX(rng,MODE(MATCH(SUBSTITUTE(rng,"","?"),SUBSTITUTE(rng,"","?"),0))),INDEX(rng,MAX(IF(MATCH(SUBSTITUTE(rng,"","?"),SUBSTITUTE(rng,"","?"),0)<MODE(MATCH(SUBSTITUTE(rng,"","?"),SUBSTITUTE(rng,"","?"),0)),MATCH(SUBSTITUTE(rng,"","?"),SUBSTITUTE(rng,"","?"),0)))))
https://stackoverflow.com/questions/52277894
复制相似问题