首页 > 代码库 > Sum、if、mod隔列求和
Sum、if、mod隔列求和
在案例中,需要求得分总和,除了利用上图公式中的函数外,我们还可以使用其他方式么?
答案是肯定的。Excel就是需要找规律,在这个案例中,发现得分均在偶数列。此时应该想到mod函数,利用他来辅助我们找到偶数列。
mod函数公式=MOD(COLUMN(A:F),2)
借用column函数取列数值,得到=MOD({1,2,3,4,5,6},2),从而获取一个数组={1,0,1,0,1,0}。这里说一下{}是数组的一个表现符号。在这里大家可以通过光标选中COLUMN(A:F),然后按F9获取它计算后的结果。
因为求得的是1,0,就会想起True和False,接着就想起了IF函数。
对,该If函数登场了。
=IF(MOD(COLUMN(A:F),2),0,A2:F8)
如小学学习数学一样,一步步带入之前求得的内容来帮助理解。
=IF({1,0,1,0,1,0},0,A2:F8)
这里会得到一个巨大的数组,A2:F8的内容如下。
IF({1,0,1,0,1,0},0,{"小奇1",91,"小奇6",83,"小奇3",64;"小奇2",56,"小奇5",71,"小奇6",99;"小奇3",58,"小奇2",62,"小奇4",97;"小奇2",70,"小奇1",98,"小奇1",99;"小奇3",80,"小奇3",76,"小奇6",78;"小奇5",75,"小奇2",73,"小奇3",91;"小奇6",82,"小奇6",62,"小奇1",84})
这里理解会比较困难了。上个图帮助理解。
如图,这就是IF第一参数的{1,0,1,0,1,0}矩阵的意思。
在这里IF函数的意思是如果第一参数为True即1,则执行第二参数0,反之False即0,执行第三参数。
也就是说第一列就是1,第二列就是0,第三列为1,第四列为0。。。这样偶数列为0。这样奇数列就执行第二参数0,偶数列就执行数组自身。
因此可以得到一个新的数组。
{0,91,0,83,0,64;0,56,0,71,0,99;0,58,0,62,0,97;0,70,0,98,0,99;0,80,0,76,0,78;0,75,0,73,0,91;0,82,0,62,0,84}
得到这个新的数组后,一切就交给Sum函数吧。
=SUM(IF(MOD(COLUMN(A:F),2),0,A2:F8))
按Ctrl+Shift+Enter数组公式完成。
本文出自 “Kirin的茶水间” 博客,转载请与作者联系!
Sum、if、mod隔列求和