二讲课件例三公式解释 - excel函数入门班 - Excel精英在线 - excel表格...

来源:百度文库 编辑:神马文学网 时间:2024/04/29 21:52:31

二讲课件例三公式解释

SUM(MID(A194,ROW(1:4)*2-{0,1},1)*{1,-1})



用偶数位之和减去奇数位之和,首先要将此数据拆成一个一个的数值,这样的任务立刻就会让我们想到MID函数,此函数可以将文本拆分,MID函数的语法如下:


MID(原文本拆分起点位置拆分多少个字符)


因此如果要得到此数据第二位数值就要输入公式


=MID(A194,2,1)


要得到第四位数值就要输入公式


=MID(A194,4,1)


要得到第六位数值就要输入公式


=MID(A194,6,1)


要得到第八位数值就要输入公式


=MID(A194,8,1)


分别输入普通公式就要写这么四个公式,可是我们学习了数组,就想把有共性的公式用数组公式合并成一个。它们的共性是什么呢?


四个公式都使用的是MID函数,只有第二个参数变化,其它都不变,因此我只要将第二个参数变成一个数组就行,而这个数组的元素应该是2;4;6;8


这样一个数组如何得到呢,我们学习了ROW函数,它可以生成连续的常量数组,如生成1;2;3;4。而2;4;6;8是个等比数列,它与1;2;3;4的关系很容易得到,即二倍关系。因此MID函数的第二个参数我们可以使用数组ROW(1:4)*2得到。


那么取偶数位数值的公式就可以由四个公式合并成一个数组公式


=MID(A194,ROW(1:4)*2,1)


这样取出来的数字是文本型数字,下一步将要参与计算,因此要转换为数值型。


=MID(A194,ROW(1:4)*2,1)*1


同理,取奇数位数值的公式可以写成


=MID(A194,ROW(1:4)*2-1,1)*1


常理,偶数位之和减去奇数位之和可以先将偶数位及奇数位分别求和,求和之后再相减,因此公式为


=SUM(MID(A194,ROW(1:4)*2,1)*1)-SUM(MID(A194,ROW(1:4)*2-1,1)*1)


我们也可以让偶数位与奇数位数值对应相减后再求和,结果是一样的,但可以省掉一个SUM。公式为


=SUM(MID(A194,ROW(1:4)*2,1)*1-MID(A194,ROW(1:4)*2-1,1)*1)


现在让我们用复杂的思路来简化公式


公式当中乘以1的目的是让文本型数值转换成数值型,那是因为前一个公式是先求和后相减,文本型数字在求和前无法偶遇土匪兵,因此不能自动转换为数值,而现在是两个文本型数组先相减最后求和,遇到了算术运算符,因此会自动转换,不再需要乘以1,公式简化为

=SUM(MID(A194,ROW(1:4)*2,1)-MID(A194,ROW(1:4)*2-1,1))


继续简化公式,公式内部出现了两次MID,而且第一个参数都是A194,第三个参数都是1,只有第二个参数不同,前面一个可以看作是ROW(1:4)*2-0,后面一个可以看作是ROW(1:4)*2-1


ROW(1:4)*2是一个纵向一维数组,想让它与0和1都进行计算,只有维度不同时才有可能,也就是课上所讲的“维度不同分别计算”,因此0和1要组成一个横向一维数组,一个纵向一个横向,才有可能分别计算,即MID函数的第二个参数可以合并成一个ROW(1:4)*2-{0,1}


注:{0,1}与COLUMN(A:B)-1在这里是一样的


现在SUM内部的公式可以简化为=MID(A194,ROW(1:4)*2-{0,1},1)


可是简化之后内部这个公式得到的是一个二维数组,第一列是偶数数值,第二列是奇数数值,如果现在外套一个SUM函数将会把这八个数一起相加,怎样让这八个数在相加之前先对应相减呢?


如果能把第二列也就是奇数数值都变成负的,相加不就变成相减了吗?如何才能把它变成负的,而前面一列不变呢?只有让第一列与第二列分别乘以1和负1才能做到


符合以上要求的数组计算应该是MID(A194,ROW(1:4)*2-{0,1},1)*{1,-1}


现在可以外套求和SUM了


最终公式SUM(MID(A194,ROW(1:4)*2-{0,1},1)*{1,-1})


最后得到的公式是不是短了很多?但短小的公式往往是由复杂的思路得来的