我有一个包含多个嵌套 IF 语句的 SUM 数组公式,因此效率非常低。我的公式跨越 500 多行,但这里是它的一个简单版本:
{=SUM(IF(IF(A1:A5>A7:A11,A1:A5,A7:A11)-A13:A17>0,
IF(A1:A5>A7:A11,A1:A5,A7:A11)-A13:A17,0))}
如您所见,公式的前半部分检查数组大于零的位置,如果是,则将公式第二部分中的值相加。
你会注意到相同的 IF 语句在那里重复了两次,这对我来说效率很低,但这是我得到正确答案的唯一方法。
我的示例数据如下:
电子表格中的示例数据 http://clients.estatemaster.net/SecureClientSite/Download/TempFiles/example.jpg 在这种情况下,使用我上面提到的公式,答案应该是 350。
如果我试图在数组中放入一个 MAX 语句,因此删除测试以找到它大于零的位置,所以它是这样的:
{=SUM(MAX(IF(B2:B6>B8:B12,B2:B6,B8:B12)-B14:B18,0))}
但是,它似乎只计算每个范围内的第一行数据,它给了我 70 的错误答案。
有谁知道我可以通过不需要在其中重复 IF 语句来减小公式的大小或使其更有效?
更新
吉米
您建议的 MAX 公式实际上并不适用于所有情况。
如果我将第 1 行到第 5 行中的示例数据更改如下(显示某些数字大于第 7 到第 11 行中它们各自的单元格,而某些数字则较低)
电子表格中的示例数据 http://clients.estatemaster.net/SecureClientSite/Download/TempFiles/example2.jpg
我试图达到的正确答案是 310,但是您建议 MAX 公式给出的错误答案是 275。
我猜这个公式需要是一个数组函数才能给出正确的答案。
还有其他建议吗?