gpt4 book ai didi

excel - 尝试提高数组公式的效率

转载 作者:行者123 更新时间:2023-12-02 10:58:15 26 4
gpt4 key购买 nike

我有一个 SUM 数组公式,其中包含多个嵌套 IF 语句,使其效率非常低。我的公式跨越 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 语句在其中重复了两次,这对我来说效率很低,但这是我获得正确答案的唯一方法。

我的示例数据如下:

Sample Data in spreadsheet 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 行中各自的单元格,而某些数字则小于)

Sample Data in spreadsheet http://clients.estatemaster.net/SecureClientSite/Download/TempFiles/example2.jpg

我试图达到的正确答案是 310,但是您建议的 MAX 公式给出的错误答案是 275。

我猜测公式需要是一个数组函数才能给出正确的答案。

还有其他建议吗?

最佳答案

=MAX( MAX( sum(A1:A5), sum(A7:A11) ) - sum(A13:A17), 0)

关于excel - 尝试提高数组公式的效率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/315915/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com