岁月不居,时节如流。

时光荏苒,岁月如梭。

前面两段充分体现了博主深厚的文学素养,别和博主争,博主说啥就是啥。

其实,对于大量数据的处理,这几年微软Office做的不单单是2007的时候把Excel的行数从65536提高到了1048576。存得多了不是目的,目的是处理得了,处理得快,处理过程简单,2010的时候微软便引入了Power Query插件用以提升Excel的数据获取、处理能力,2016的时候PowerQuery便成了Excel的标配功能。没错,扯了这么多就是为了说出本系列案例要用PowerQuery,虽然标题上已经明白得不要不要的了,但还是想多扯几句,没办法,将就着看吧,谁让我是作者。

Power Query,中文名“查询增强版”,简称"PQ”, 是Excel的一个功能模块,也是Power BI的一个组件。在Excel 2010/2013中Power Query以插件形式存在,需要另行安装,在2016版中已经内嵌为功能模块。在Excel中微软将其定义为“获取和转换”,主要用于数据的获取、转换、查询、抽取、汇总等。

从今天开始,博主有可能会断断续续断断地更一些关于Power Query的知识,希望博主能坚持下来!


但凡对Excel数据处理比较熟悉的用户,说到条件计数、条件求和一定会想到Countif、Sumif,没错,在Excel里这是两个使用频率很高的函数。但是,当“大数据”来临时,它们统统都成了“鸡肋”,屏幕上卡死不动的Excel与内存爆红的“加速计”说明了一切。

1 条件计数,秒杀“Countif”

操作目的

案例大概是这样的,有数以十万计的记录条数在Excel里面,目的是轻松点点点就“秒完”计数。

先来算下每户人数,再来算下每户男女各多少。

操作步骤

1、数据要先加载到PQ,至于不知道如何加载的请翻看其他案例,这里要特别点一下的是加载后一定要“点一下‘更改的类型’”前的x。删掉这一步,因为这一步PQ“自作主张”将长数字串转成了数值,而且还给科学计了数,而我们需要的就是原来的长数字串。

2、【开始】选项卡—【分组依据】,按“户号”分组,分组操作是对“户号”列计数,这样每户多少人就出来了。

3、“秒完”计数,上载至Excel就行了。

4、为了把案例整复杂点以显示本博主的教程不太水,这里还要算下每户男女成员各几人。具体的操作其实和上边一样的简单,如果硬要说说多讲述这一步的必要性,下图已经明了,嗯,就是“依据”多了一个。

2 条件求和,完败“Sumif”

操作目的

博主愣是没有找到案例,于是拿上边的例子“硬造”了一个每个人的收入信息,至于是什么收入,天晓得,随机来的…

目的是求每户的总收入。

操作步骤

1、数据加载到PQ,依然是【开始】—【分组依据】,依据依然是“户号”,不过这波操作换成了“求和”,对,就是对“收入”求和。依然需要提醒的是注意叉掉PQ对长数字串的“自作主张”。

2、就这么简单,还想多扯几千字呢,可是,这波操作确确实实已经轻轻松松的完了。

想体验一下十万级数据的处理速度,你得先有十万级的数据,造起来怪辛苦的,博主这里贴心提供实验材料:

链接:https://pan.baidu.com/s/1nsbUvqFi8cGsqISLON0EiQ 密码:de78

Excel_PoweQuery——条件计数、条件求和的更多相关文章

  1. Excel 如何按条件计数和按条件求和(如按月求和)

    1.使用SUMPRODUCT进行多条件计数语法:=SUMPRODUCT((条件1)*(条件2)*(条件3)* …(条件n))作用:统计同时满足条件1.条件2到条件n的记录的个数.实例:=SUMPROD ...

  2. Mysql按条件计数的几种方法

    最近在给某网站的后台添加一系列的统计功能,遇到很多需要按条件计数的情况.尝试了几种方法,下面简要记录,供大家参考. 问题描述 为使讨论简单易懂,我将问题稍作简化,去掉诸多的背景. 从前有一个皇帝,他有 ...

  3. 使用Java Stream,提取集合中的某一列/按条件过滤集合/求和/最大值/最小值/平均值

    不得不说,使用Java Stream操作集合实在是太好用了,不过最近在观察生产环境错误日志时,发现偶尔会出现以下2个异常: java.lang.NullPointerException java.ut ...

  4. LibreOffice/Calc:带条件判断的求和

    本文适用于LibreOffice Calc 5.1.6.2 + Ubuntu 16.04,熊猫帮帮主@cnblogs 2018/3/7 以下图为例,假设要根据C列对D列中被选中单元进行求和,即对D列中 ...

  5. sql 有条件计数

    select InstitutionID=LEFT(InstitutionID,9), Irregularities_Type=sum(CASE WHEN Irregularities_Type> ...

  6. java多条件不定条件查询

    网站或各类管理系统都会用到搜索,会用到一个或多个不确定条件搜索,单条件搜索比较简单,有时候会有多个条件共同查询,如果系统中已经提供了相关的方法供你使用最好,像我做这老系统改版,需要添加搜索,就要自己写 ...

  7. linq字符串搜索条件,排序条件-linq动态查询语句 Dynamic LINQ

    在做搜索和排序的时候,往往是前台传过来的字符串做条件,参数的数量还不定,这就需要用拼sql语句一样拼linq语句.而linq语句又是强类型的,不能用字符串拼出来. 现在好了,有个开源的linq扩展方法 ...

  8. 通过IF({1,0}和VLOOKUP函数实现Excel的双条件多条件查找的方法

    在Excel中,通过VLOOKUP函数可以查找到数据并返回数据.不仅能跨表查找,同时,更能跨工作薄查找. 但是,VLOOKUP函数一般情况下,只能实现单条件查找. 如果想通过VLOOKUP函数来实现双 ...

  9. linq里lambda写的join查询,并附加动态拼接的条件,条件为enum类型的查询

    因为查询条件不固定的原因,sql式的linq查询没法动态拼接条件. 网上搜的资料整理之后终于解决. 参考资料: enum使用 http://blog.csdn.net/slowlifes/articl ...

随机推荐

  1. leetcode.排序.215数组中的第k个最大元素-Java

    1. 具体题目 在未排序的数组中找到第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素. 示例 : 输入: [3,2,1,5,6,4] 和 k = ...

  2. SSOJ 317 Fast Ride

    317. Fast Ride Time limit per test: 0.25  second(s) Memory limit: 65536 kilobytes input: standard ou ...

  3. Python基础篇(初始函数)

    Python初始函数: 一.什么是函数 1.我们到目前为止, 已经可以完成一些软件的基础功能了. 那么我们来完成这样一个功 能: 约x: print("拿出手机") print(& ...

  4. GIT 的常见用法

    git init 新建代码库 git clone新建项目 git branch 查看分支 git config 显示配置 git config -e 显示配置文件 git config user.na ...

  5. Blueprint的实现

    Blueprint其实本身只是对view上的接口进行了注册,然后整体挂载在app上,Blueprint本身的目的就是组织多模块的平行共存,避免直接在app上注册view,其实更多的只是方便开发和代码的 ...

  6. SurfaceView的基本使用(转)

    转自:https://www.cnblogs.com/zhangyingai/p/7087371.html SurfaceView的基本使用   一.引入: Android提供了View来进行绘图处理 ...

  7. Node.js的适用场景?

    1).实时应用:如在线聊天,实时通知推送等等(如socket.io) 2).分布式应用:通过高效的并行I/O使用已有的数据 3).工具类应用:海量的工具,小到前端压缩部署(如grunt),大到桌面图形 ...

  8. SpringBoot 中定时执行注解(@Scheduled、@EnableScheduling)

    项目开发中经常需要执行一些定时任务,比如需要在每天凌晨时候,分析一次前一天的日志信息.Spring为我们提供了异步执行任务调度的方式,提供TaskExecutor .TaskScheduler 接口. ...

  9. css强制换行和超出部分隐藏实现

    一.强制换行 1 word-break: break-all; 只对英文起作用,以字母作为换行依据. 2 word-wrap: break-word; 只对英文起作用,以单词作为换行依据. 3 whi ...

  10. SQL IN 运算符

    SQL IN 运算符 IN运算符允许您在WHERE子句中指定多个值. IN运算符是多个OR条件的简写. SQL IN 语法 SELECT column_name(s) FROM table_name ...