SUM(IF({1,0},{1,30;10,20},{2,10;30,20}))
为什么结果会=SUM({1,10;10,20})=41
谢谢!
if的三个参数(均为数组),第二个参数与第三个参数决定了if最终形成的数组的行数和列数。第一个参数用“,”分隔表示计算第二和第三个参数的列,第一个参数用“;”分隔表示计算第二和第三个参数的行。
如果按列计算,则第一个参数中的逻辑个数与第二、第三个参数中的列数相同。
如果按行计算,则第一个参数中的逻辑个数与第二、第三个参数中的行数相同。
例:if({1,0,1,1},.......),表示计算第二个参数中的第一列,第三个参数中的第二列,第二个参数中的第三列和第二个参数中的第四列。
使用道具 举报
=SUM(IF({1,0},{1,30;10,20},{2,10;30,20}))
可以把公式分开算
=SUM(IF({1,0},{1,30;10,20})) 和 =SUM(IF({0,1},{2,10;30,20})) 加起来的和为41
{1,0} 里面如果是逗号,则表示以列方向进行判断真假 ,如果是{1;0} 分号,则表示以行方向进行判断真假
{1,0}表示TRUE和FALSE,因为里面都是一个两列两行的常量数组,分别在{1,30;10,20},{2,10;30,20} 里面进行判断
如果TRUE真,则返回第一个条件中的{1,30;10,20}中的第一列的值 也就是{1,10}
如果FALSE假,则返回第二个条件中的{2,10;30,20} 中的第二列的值 也就是{10,20}
帅,为什么可以把if({1,0}........ 分解成if({1,0}......以及if({0,1}
本版积分规则 发表回复 回帖后跳转到最后一页
小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )
GMT+8, 2024-5-24 00:56 , Processed in 0.260255 second(s), 8 queries , Gzip On, Yac On.
Powered by Discuz! X3.4
Copyright © 2001-2020, Tencent Cloud.