岁月不居,时节如流。

时光荏苒,岁月如梭。

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

其实,对于大量数据的处理,这几年微软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. Codeforces 1140C(贪心+堆)

    题面 传送门 题意: 给出长度为n的序列b,t,定义一个子序列的值为\(\min\{ b_i\} \times \sum t_i\),求所有子序列中值最大的一个,输出最大值 分析 假如固定某个b[i] ...

  2. run (简单DP)

    链接:https://www.nowcoder.com/acm/contest/140/A 来源:牛客网 题目描述 White Cloud is exercising in the playgroun ...

  3. samba 添加新用户

    添加samba新用户需要有root权限 1. 在Linux服务器根目录下(黄色背景部分是需替换部分:换成你自己的用户名) sudo smbpasswd -a username 2. 修改samba配置 ...

  4. c# HttpListener 使用

    与 IIS 上发布网站相比,使用 HttpListener 编程的程序更加轻量化,易于发布和更新.配合 Thread 或 Task 类也可满足一定的并发. https://docs.microsoft ...

  5. java中多种方式解析xml

    第一种:DOM.DOM的全称是Document Object Model,也即文档对象模型.在应用程序中,基于DOM的XML分析器将一个XML文档转换成一个对象模型的集合(通常称DOM树),应用程序正 ...

  6. CSS实现不换行/自动换行/文本超出隐藏显示省略号

    在写页面的时候,我们经常会需要用到关于文本的换行,强制换行以及显示几行超过显示省略号等,今天我们就对这些问题来做个汇总吧! 1.自动换行 div{ word-wrap:break-word; word ...

  7. Vue小白篇 - ES6的语法

    为什么要学 ES6 的语法呢? 因为 Vue 语法有很多都是 ES6(ECMAScript 6),这里推荐 [阮一峰 ECMAScript 6 入门]: http://es6.ruanyifeng.c ...

  8. 容斥原理+补集转化+MinMax容斥

    容斥原理的思想大家都应该挺熟悉的,然后补集转化其实就是容斥原理的一种应用. 一篇讲容斥的博文https://www.cnblogs.com/gzy-cjoier/p/9686787.html 当我们遇 ...

  9. 5分钟搞定android混淆(转)

    转自:https://www.jianshu.com/p/f3455ecaa56e 前言 混淆是上线前挺重要的一个环节.android使用的ProGuard,可以起到压缩,混淆,预检,优化的作用.但是 ...

  10. log4j.xml配置详解(转)

    转自:http://willow-na.iteye.com/blog/347340 Xml代码 <?xml version="1.0" encoding="UTF- ...