Excel2019实现A列最大值加其余行B列总和的非数组公式求解
问题需求
参考如下工作表:
A B 1 90 71 2 40 25 3 60 16 4 110 13 5 87 82
需要在单元格C1中写入适配Excel 2019的通用公式,不需要按Ctrl+Shift+Enter触发数组公式,不使用Office 365专属功能。公式逻辑为:计算A列的最大值(示例中为110),加上其余行B列所有值的和(示例中为71、25、16、82)。
已尝试思路
获取A列最大值可以用MAX(A1:A5)实现,因此C1公式的基础结构如下:
=MAX(A1:A5) + SUM(array_of_values_to_be_summed)
难点在于获取需要求和的B列对应行数组。试过INDEX、MATCH及二者组合,也尝试过用括号和等号生成数组的方法,均未成功。
已经确认NOT((A1:A5 = MAX(A1:A5)))可以生成布尔数组,待求和行对应位置返回1(或TRUE),需要排除的行位置返回0(或FALSE),但不知道如何利用该特性实现需求。
可行解决方案
最终找到符合要求的公式,将上述NOT生成的布尔数组与B1:B5区域相乘即可,最终公式如下:
=MAX(A1:A5) + SUM(NOT((A1:A5 = MAX(A1:A5))) * B1:B5)
重复最大值处理规则
如果A列存在多个相同的最大值,公式的第一项MAX取值对应的是最大值行中B列值最小的行,其余重复最大值对应的B列值仍纳入求和范围。
参考示例表格:
A B 1 90 71 2 110 25 3 60 16 4 110 13 5 110 82
按照规则计算结果为110 + (71 + 25 + 16 + 82) = 304。
应用场景
该公式用于按照美国国家电气规范第430.62(A)条要求,自动计算住宅、商业建筑等场景下多组电机馈线短路保护装置的额定电流。其中A列为各电机分支回路短路保护装置的额定电流,B列为各电机的满载电流。
内容的提问来源于stack exchange,提问作者alejnavab
相关产品推荐
相关产品推荐

