一、基本用法 翻看Excel帮助,SUMIF作用是“根据指定条件对若干单元格求和”,言简意不赅,惜字如金啊。 说明白点就是“对条件区域进行判断,如果某些单元格满足指定条件,则对求和区域所对应的若干单元格进行求和”。 如图一,求A列姓名为龙逸凡的金额之和,则公式为 =SUMIF(A2:A11,"龙逸凡",B2:B11) 结果为17。 技巧1: SUMIF可以使用通配符,如统计龙姓员工的金额之和,则公式为=SUMIF(A2:A11,"龙*",B2:B11)。 技巧2: 如果将SUMIF的第三个参数省略,则对条件区域中的单元格求和,如公式=SUMIF(B2:B11,">3")统计B2:B11单元格区域大于3的数之和。 注意:不能简写成=SUMIF(B2:B10,">3",)。 技巧3: SUMIF不但能对列区域求和,还能对行区域求和,大家不要被自己的固有思维限制了。如公式 =SUMIF(A1:H1,"龙逸凡",A2:H2) 上面的基本形式大家都会,下面我们逐步深入。 二、简化形式 一般情况,SUMIF的第一参数和第三参数的区域应该是单列,并且大小相同,但是,如果我们两参数区域不等,会怎么样呢? 比如,将本文第一个公式写成下面的公式会怎么样呢? =SUMIF(A2:A11,"龙逸凡",B2) =SUMIF(A2:A11,"龙逸凡",B2:B3) =SUMIF(A2:A11,"龙逸凡",B2:B1000) 经测试,上面的几个公式等价,结果是一样的,都是17。 也许你已经看出规律,第三参数真正起作用的就是第三参数单元格区域的左上角那个单元格。 因而我们完全可以将公式简化成 =SUMIF(A2:A5,">160000",B2) 题外话: B2:B4:D1000这种奇怪的形式实际上就是此单元格区域最左最右最上最下单元格所组成的矩形区域,比如 =SUM(B2:B3:B5:D5:D9:D14) 双击单元格编辑公式时Excel显示的引用范围为B2:B3、B5:D5、D9:D14,但实际上就是对B2:D14组成的矩形区域求和,而不是等同于 =SUM(B2:B3,B5:D5,D9:D14) 三、定位原理 既然起作用的就是第三参数单元格区域左上角的单元格,那其真正的原理或者定位机制是什么? 我们来探索一下,将公式再变一下: =SUMIF(A2:A11,"龙逸凡",B3) 公式结果为21,为什么是21呢?实际上它是2 4 7 8的结果。 A2:A11单元格区域为“龙逸凡”的分别为从A2单元格开始数的第1、3、6、7个,求和的单元格刚好也是由B3单元格开始数的第1、3、6、7个,即B3、B5、B8、B9单元格。 同理,=SUMIF(A2:A11,"龙逸凡",B4)结果为25,为B4单元格开始数的第1、3、6、7个,即B4、B6、B9、B10单元格。 据此可知: 第三参数单元格区域起作用的就是左上角那单元格,此单元格的作用是定位定点,只要有此定位点,SUMIF会自动以此单元格为原点,按照第一参数区域符合条件的单元格的坐标,找到同样坐标位置的单元格,并对其数值求和。 四、多表单条件求和 假设有三张表,分别为sheet1、sheet2、sheet3,三张表格式均如图一所示,要求三表中A列为龙逸凡的金额之和,公式为: =SUM(SUMIF(INDIRECT("sheet"&{1,2,3}&"!A2:A11"),"龙逸凡",INDIRECT("sheet"&{1,2,3}&"!B2:B11"))) 结果为51(17*3)。 作者:龙逸凡 |