java if函数_java中CountIf、Lookup、随机数函数和公式返回值,实例展示

上次已经为大家介绍过java中Excel公式的计算和函数,实例展示,今天要简述的依旧是java中Excel函数的代码展示,包括CountIf和SumIf函数、Lookup、随机数函数和公式返回值。一起来看看吧。

一、CountIf和SumIf函数,代码展示如下:HSSFSheet sheet = workbook.createSheet("Test"); // 创建工作表(Sheet)

HSSFRow row = sheet.createRow(0);

row.createCell(0)

.setCellValue(57);

row.createCell(1)

.setCellValue(89);

row.createCell(2)

.setCellValue(56);

row.createCell(3)

.setCellValue(67);

row.createCell(4)

.setCellValue(60);

row.createCell(5)

.setCellValue(73);

row.createCell(7)

.setCellFormula("COUNTIF(A 1:F 1,\">=60\")");

row.createCell(8)

.setCellFormula("SUMIF(A 1: F 1,\">=60\",A 1:F 1)");

对上面的公式作一个简要的说明:

1.COUNTIF(range,criteria):满足某条件的计数的函数。①参数range:需要进行读数的计数;②参数criteria:条件表达式,计数需要满足此条件。

2.SumIF(criteria_range,

criteria,sum_range):用于统计某区域内满足某条件的值的求和。①参数criteria_range:条件测试区域,第二个参数Criteria中的条件将与和条件测试区域中的值进行比较;②参数criteria:条件测试值,满足条件的对应的sum_range项将进行求和计算;③参数sum_range:汇总数据所在区域,求和时会排除掉不满足Criteria条件的对应的项。

二、Lookup函数,代码展示如下:HSSFSheet sheet = workbook.createSheet("Test"); // 创建工作表(Sheet)

HSSFRow row = sheet.createRow(0);

row.createCell(0)

.setCellValue(0);

row.createCell(1)

.setCellValue(59);

row.createCell(2)

.setCellValue("不及格");

row = sheet.createRow(1);

row.createCell(0)

.setCellValue(60);

row.createCell(1)

.setCellValue(69);

row.createCell(2)

.setCellValue("及格");

row = sheet.createRow(2);

row.createCell(0)

.setCellValue(70);

row.createCell(1)

.setCellValue(79);

row.createCell(2)

.setCellValue("良好");

row = sheet.createRow(3);

row.createCell(0)

.setCellValue(80);

row.createCell(1)

.setCellValue(100);

row.createCell(2)

.setCellValue("优秀");

row = sheet.createRow(4);

row.createCell(0)

.setCellValue(75);

row.createCell(1)

.setCellFormula("LOOKUP(A 5,$A$1:$A$4,$C$1:$C$4)");

row.createCell(2)

.setCellFormula("VLOOKUP(A 5,$A$1:$C$4,3,true)");

对上面的公式作一个简要的说明:

1.LOOKUP(lookup_value,lookup_vector,result_vector):①第一个参数:需要查找的内容,本例中指向A5单元格,也就是75 ;②第二个参数:比较对象区域,本例中的成绩需要与$A$1:$A$4中的各单元格中的值进行比较;③第三个参数:查找结果区域,如果匹配到会将此区域中对应的数据返回。如本例中返回$C$1:$C$4中对应的值。

2.VLOOKUP(lookup_value,lookup_area,result_col,is_fuzzy),①第一个参数:需要查找的内容,这里是A5单元格;②第二个参数:需要比较的表,这里是$A$1:$C$4;③第三个参数:匹配结果对应的列序号。这里要对应的是成绩列,所以为3;④第四个参数:指明是否模糊匹配。例子中的TRUE表示模糊匹配,与上例中一样。匹配到的是第三行。如果将此参数改为FALSE,因为在表中的第1列中找不到75,所以会报“#N/A”的计算错误。

三、随机数函数,代码展示如下:HSSFSheet sheet = workbook.createSheet("Test"); // 创建工作表(Sheet)

HSSFRow row = sheet.createRow(0);

row.createCell(0)

.setCellFormula("RAND()"); //取0-1之间的随机数

row.createCell(1)

.setCellFormula("int(RAND()*100)"); //取0-100之间的随机整数

row.createCell(2)

.setCellFormula("rand()*10+10"); //取10-20之间的随机实数

row.createCell(3)

.setCellFormula("CHAR(INT(RAND()*26)+97)"); //随机小写字母

row.createCell(4)

.setCellFormula("CHAR(INT(RAND()*26)+65)"); //随机大写字母

//随机大小写字母

row.createCell(5)

.setCellFormula("CHAR(INT(RAND()*26)+if(INT(RAND()*2)=0,97,65))");

对上面的公式做一个简要的说明:

上面的代码中除RAND函数以外,还有CHAR函数用来将ASCII码换为字母,INT函数用来取整。同时需要注意INT函数不会四舍五入,无论小数点后是多少都会被舍去。

四、获得公式的返回值,代码展示如下:HSSFSheet sheet = workbook.createSheet("Test"); // 创建工作表(Sheet)

HSSFRow row = sheet.createRow(0);

row.createCell(0)

.setCellValue(7); //A 1

row.createCell(1)

.setCellValue(8); //B 1

HSSFCell cell = row.createCell(2);

cell.setCellFormula("A 1*B 1+14");

HSSFFormulaEvaluator e = newHSSFFormulaEvaluator(workbook);

cell = e.evaluateInCell(cell); //若Excel文件不是POI创建的,则不必调用此方法

System.out.println("公式计算结果:" + cell.getNumericCellValue());

以上就是关于java中CountIf和SumIf函数、Lookup、随机数函数和公式返回值的主要内容,并且通过实际的例子为大家展示。想要了解更多java基础和java经典例子,敬请关注奇Q工具网。

推荐阅读:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值