Excel技术问询:如何根据B-D列最大值自动填充E列对应站点
实现Excel根据多列最大值返回对应站点名称
当然可以实现这个需求!这里有几种实用的方法,适配不同版本的Excel:
方法1:通用公式(适用于所有Excel版本)
使用INDEX+MATCH+MAX的组合公式,这是兼容性最强的方案。在E2单元格输入以下公式,然后下拉填充到所有行:
=INDEX($B$1:$D$1, MATCH(MAX(B2:D2), B2:D2, 0))
公式解析:
MAX(B2:D2):计算当前行B、C、D列的登录次数最大值MATCH(MAX(B2:D2), B2:D2, 0):找到这个最大值在B2:D2区域中的第一个出现位置INDEX($B$1:$D$1, ...):根据找到的位置,从第一行的站点标题(B1:D1)中取出对应的站点名称
方法2:简洁公式(适用于Excel 365/2021及以上版本)
如果你的Excel是新版,可以用XLOOKUP函数,写法更直观:
=XLOOKUP(MAX(B2:D2), B2:D2, $B$1:$D$1)
公式解析:
XLOOKUP直接完成“查找最大值→定位位置→返回对应标题”的流程,参数依次是:要查找的值、查找区域、返回区域。
额外处理:多列并列最大值的情况
如果某一行有多个站点的登录次数并列最高(比如B2和D2都是200),上面的公式只会返回第一个出现的站点。如果需要把所有并列的站点都列出来,可以用以下数组公式:
=TEXTJOIN(", ", TRUE, IF(B2:D2=MAX(B2:D2), $B$1:$D$1, ""))
- 旧版Excel输入后需要按
Ctrl+Shift+Enter触发数组计算,新版Excel直接回车即可 - 公式会用逗号分隔所有并列最高的站点名称
按照你的示例数据,这些公式都会准确返回对应的MainSite?列结果,比如User2的E列会返回Site3,User3返回Site2。
内容的提问来源于stack exchange,提问作者Exildur
相关产品推荐
相关产品推荐

