2.3.6用NPOI操作EXCEL--COUNTIF和SUMIF函数

时间:2021-02-20 11:49:27
一、COUNTIF 
     这一节,我们一起来学习Excel中另一个常用的函数--COUNTIF函数,看函数名就知道这是一个用来在做满足某条件的计数的函数。先来看一看它的语法:COUNTIF(range,criteria),参数说明如下:
Range 需要进行读数的计数
Criteria 条件表达式,只有当满足此条件时才进行计数

接下来看一个例子,代码如下:

HSSFSheet sheet1  =  hssfworkbook.CreateSheet( " Sheet1 " );

HSSFRow row1 
=  sheet1.CreateRow( 0 );
row1.CreateCell(
0 ).SetCellValue( " 姓名 " );
row1.CreateCell(
1 ).SetCellValue( " 成绩 " );

HSSFRow row2 
=  sheet1.CreateRow( 1 );
row2.CreateCell(
0 ).SetCellValue( " 令狐冲 " );
row2.CreateCell(
1 ).SetCellValue( 85 );

HSSFRow row3 
=  sheet1.CreateRow( 2 );
row3.CreateCell(
0 ).SetCellValue( " 任盈盈 " );
row3.CreateCell(
1 ).SetCellValue( 90 );

HSSFRow row4 
=  sheet1.CreateRow( 3 );
row4.CreateCell(
0 ).SetCellValue( " 任我行 " );
row4.CreateCell(
1 ).SetCellValue( 70 );

HSSFRow row5 
=  sheet1.CreateRow( 4 );
row5.CreateCell(
0 ).SetCellValue( " 左冷婵 " );
row5.CreateCell(
1 ).SetCellValue( 45 );

HSSFRow row6 
=  sheet1.CreateRow( 5 );
row6.CreateCell(
0 ).SetCellValue( " 岳不群 " );
row6.CreateCell(
1 ).SetCellValue( 50 );

HSSFRow row7 
=  sheet1.CreateRow( 6 );
row7.CreateCell(
0 ).SetCellValue( " 合格人数: " );
row7.CreateCell(
1 ).SetCellFormula( " COUNTIF(B2:B6,\ " > 60 \ " ) " );

执行结果如下:
2.3.6用NPOI操作EXCEL--COUNTIF和SUMIF函数

      我们可以看到,CountIf函数成功的统计出了区域“B2:B6”中成绩合格的人数(这里定义成绩大于60为合格)。

二、SUMIF

      接下来,顺便谈谈另一个与CountIF类似的函数—SumIf函数。此函数用于统计某区域内满足某条件的值的求和(CountIf是计数)。与CountIF不同,SumIF有三个参数,语法为 SumIF(criteria_range, criteria,sum_range),各参数的说明如下:

criteria_range 条件测试区域,第二个参数Criteria中的条件将与此区域中的值进行比较
criteria 条件测试值,满足条件的对应的sum_range项将进行求和计算
sum_range 汇总数据所在区域,求和时会排除掉不满足Criteria条件的对应的项

我们还是以例子来加以说明:
2.3.6用NPOI操作EXCEL--COUNTIF和SUMIF函数2.3.6用NPOI操作EXCEL--COUNTIF和SUMIF函数Code
执行结果如下:
2.3.6用NPOI操作EXCEL--COUNTIF和SUMIF函数
如上图,SUMIF统计出了不同人一季度的销售额。

 

返回目录