统计函数主要实现的是较为复杂的统计函数如countif、sumif、frequency,也是,直接上代码

/***  项目名称:*  文件说明:*  主要特点:文件说明:EXCEL函数类型:统计函数*  简单的函数如sum,average等等就不实现了*  版本号:1.0*  *  创建时间:2013-12-3**/
package EXCEL;import games.MathTools;import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;/*** @author lcx**/
public class CountFunctions {/*** 统计满足条件的个数* @param range* @param criteria* @return*/public static int sumif(int[][] range,String criteria){ScriptEngineManager man=new ScriptEngineManager();ScriptEngine engine=man.getEngineByName("javascript");int sum=0;for(int i=0;i<range.length;i++)for(int j=0;j<range[0].length;j++){try {Boolean b=(Boolean) engine.eval(range[i][j]+criteria);if(b)sum+=range[i][j];} catch (ScriptException e) {// TODO Auto-generated catch blocke.printStackTrace();}}return sum;}/*** 统计满足条件的个数* @param range* @param criteria* @return*/public static int  countif(int[][] range,String criteria){ScriptEngineManager man=new ScriptEngineManager();ScriptEngine engine=man.getEngineByName("javascript");int count=0;for(int i=0;i<range.length;i++)for(int j=0;j<range[0].length;j++){try {Boolean b=(Boolean) engine.eval(range[i][j]+criteria);if(b)count++;} catch (ScriptException e) {// TODO Auto-generated catch blocke.printStackTrace();}}return count;}public static void sort(){System.out.println("给array和tags排序");}/*** 为简化处理,在这里边需保证输入的是升序排列的数组* @param array* @param tags* @return*/public static int[] frequency(int [] array,int[] tags){sort();//排序,在这里就不实现了if(array==null||tags==null||array.length==0||array.length==0)throw new IllegalArgumentException("数组为空");int[] res=new int[tags.length+1];int count=0;for(int i=0;i<array.length;i++){if(count>=tags.length)break;if(array[i]<=tags[count])res[count]+=1;else {i--;count++;}}//剩余的int sum=0;for(int i=0;i<res.length-1;i++)sum+=res[i];res[res.length-1]=array.length-sum;return res;}public static void main(String[] args) {/*******************测试数组相关*****************************/int [][]a={{1,2},{3,4},{5,6}};//        countif(a,"<=2");//       System.out.println(rank(3,a,true));System.out.println(sumif(a,"<=2"));int[] b={15,25,35,45,55,65,75,85,95};MathTools.printArray(frequency(b,new int[]{10,90}));}
}

JAVA实现EXCEL公式专题(七)——统计函数相关推荐

  1. Java 仿 Excel 公式计算

    这是我自己写的一个 Java 仿 Excel 公式计算 工具,支持自定义公式 github:https://github.com/38680050/excel-formula-calculation ...

  2. java excel添加公式_JAVA实现EXCEL公式专题(四)——字符串函数

    直接上代码:/** * 项目名称: * 文件说明: ExCEL公式类型:字符串公式 * 主要特点: * 版本:1.0 * 制作人:刘晨曦 * 创建时间:2013-12-3 **/ package EX ...

  3. java excel函数_JAVA实现EXCEL公式专题(四)——字符串函数

    /** * 项目名称: * 文件说明: ExCEL公式类型:字符串公式 * 主要特点: * 版本号:1.0 * 制作人:刘晨曦 * 创建时间:2013-12-3 **/ package EXCEL; ...

  4. JAVA调用Excel公式和js判断选择计算有效集合

    需求: 1.选择某一列结果集,选择当前值和后面某一行的某个值,两个结果做Excel公式运算,之后判断结果集是否符合条件: 2.前面的条件符合,需要再根据一行数据的某几列进行逻辑判断,是否符合条件(不涉 ...

  5. Java执行Excel公式

    要求:输入一个Excel公式,使用Java代码执行此公式! 代码: package com.wangyk.springboot.utils.utils;import lombok.extern.slf ...

  6. java解析excel公式_Java 添加、读取Excel公式

    Excel是办公室自动化中非常重要的一款软件,具有强大的数据分析和处理功能.其中,Excel公式(包括函数)起了非常重要的作用.因此,掌握处理公式的能力有利于提高对Excel的应用水平,进而提高工作效 ...

  7. Java导出Excel公式非空判断_使用poi导成excel的一个类型判断函数

    /** * 获取cell中的数据 * @param cell * @return */ private String readCell(HSSFCell cell) { if (null == cel ...

  8. java实现excel导入导出,对象图片读取,上传七牛云

    java实现excel导入导出以及解决方案 因为公司业务需求,要完成针对表格的导入导出,excel这里使用MultipartFile类接收 ,下面是部分关键代码,希望有所帮助 //获取excel文件的 ...

  9. POI:java导出excel,java设置单元格公式,求和

    POI:java设置单元格公式,求和 java导出excel,之前写过全量导出,但是有时候报表中需要汇总,或者其他公式的数据. 这里就需要对单元格的格式调整,设置公式 主要代码 //给单元格设置公式 ...

  10. java生成函数excel_如何通过Java代码实现创建和读取Excel公式

    如何通过Java代码实现创建和读取Excel公式 发布时间:2020-06-06 21:58:24 来源:亿速云 阅读:250 作者:Leah 如何通过Java代码实现创建和读取Excel公式?相信大 ...

最新文章

  1. 漫漫优化路,总会错几步!记一次接口优化!
  2. 汽车之家APP车型配置--参数分析
  3. 怎样在线把别人web前端代码抓下_自学web前端8个月,我是怎样拿下7K薪资的?
  4. RTEMS 的 AT91SAM9260 移植(5): 调试串口驱动
  5. PO RELEASE 采购订单审核(支持多级审核)
  6. 基于模块度的社团检测算法
  7. 无盘机服务器,无盘服务器操作系统
  8. win7电脑删除文件特别慢怎么办
  9. 关于python django.url问题 求助
  10. IoT安全系列-如何发现攻击面并进行测试(物联网安全)
  11. 易优cms企业建站系统v1.5.1 含小程序源码
  12. js怎么获取ueditor值_UEditor获取内容
  13. 【Spark-core学习之六】 Spark资源调度和任务调度
  14. 面试技巧(一)〔参加笔试、面试的技巧〕
  15. H - 命运(动态规划) 数塔问题
  16. 安装了谷歌服务框架还是闪退_GO谷歌安装器小米专版
  17. word图片撑满,word怎么让图片占满整个页面?
  18. 胶印润版液消泡剂用来胶印润版液除泡问题处理得干干净净
  19. 怎么通过django模板输出双花括号{{}}
  20. Java线程池并发执行多个任务

热门文章

  1. java中将Excel转图片
  2. winsdk仿win7扫雷
  3. 查询linux ssh端口,查看ssh端口
  4. 计算机基础知识五笔,教你简单快速学习五笔打字
  5. Redies tutorial
  6. php获取qqkey源码,易语言取QQKEY源码
  7. geoserver+全能下载器 发布离线地图
  8. 肝一份java性能调优手册
  9. java实现大写转小写_java实现将大写字母转换为小写字母
  10. 毛星云opencv之用鼠标进行交互操作