Excel_PoweQuery——条件计数、条件求和
岁月不居,时节如流。
时光荏苒,岁月如梭。
前面两段充分体现了博主深厚的文学素养,别和博主争,博主说啥就是啥。
其实,对于大量数据的处理,这几年微软Office做的不单单是2007的时候把Excel的行数从65536提高到了1048576。存得多了不是目的,目的是处理得了,处理得快,处理过程简单,2010的时候微软便引入了Power Query插件用以提升Excel的数据获取、处理能力,2016的时候PowerQuery便成了Excel的标配功能。没错,扯了这么多就是为了说出本系列案例要用PowerQuery,虽然标题上已经明白得不要不要的了,但还是想多扯几句,没办法,将就着看吧,谁让我是作者。
从今天开始,博主有可能会断断续续断断地更一些关于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——条件计数、条件求和的更多相关文章
- Excel 如何按条件计数和按条件求和(如按月求和)
1.使用SUMPRODUCT进行多条件计数语法:=SUMPRODUCT((条件1)*(条件2)*(条件3)* …(条件n))作用:统计同时满足条件1.条件2到条件n的记录的个数.实例:=SUMPROD ...
- Mysql按条件计数的几种方法
最近在给某网站的后台添加一系列的统计功能,遇到很多需要按条件计数的情况.尝试了几种方法,下面简要记录,供大家参考. 问题描述 为使讨论简单易懂,我将问题稍作简化,去掉诸多的背景. 从前有一个皇帝,他有 ...
- 使用Java Stream,提取集合中的某一列/按条件过滤集合/求和/最大值/最小值/平均值
不得不说,使用Java Stream操作集合实在是太好用了,不过最近在观察生产环境错误日志时,发现偶尔会出现以下2个异常: java.lang.NullPointerException java.ut ...
- LibreOffice/Calc:带条件判断的求和
本文适用于LibreOffice Calc 5.1.6.2 + Ubuntu 16.04,熊猫帮帮主@cnblogs 2018/3/7 以下图为例,假设要根据C列对D列中被选中单元进行求和,即对D列中 ...
- sql 有条件计数
select InstitutionID=LEFT(InstitutionID,9), Irregularities_Type=sum(CASE WHEN Irregularities_Type> ...
- java多条件不定条件查询
网站或各类管理系统都会用到搜索,会用到一个或多个不确定条件搜索,单条件搜索比较简单,有时候会有多个条件共同查询,如果系统中已经提供了相关的方法供你使用最好,像我做这老系统改版,需要添加搜索,就要自己写 ...
- linq字符串搜索条件,排序条件-linq动态查询语句 Dynamic LINQ
在做搜索和排序的时候,往往是前台传过来的字符串做条件,参数的数量还不定,这就需要用拼sql语句一样拼linq语句.而linq语句又是强类型的,不能用字符串拼出来. 现在好了,有个开源的linq扩展方法 ...
- 通过IF({1,0}和VLOOKUP函数实现Excel的双条件多条件查找的方法
在Excel中,通过VLOOKUP函数可以查找到数据并返回数据.不仅能跨表查找,同时,更能跨工作薄查找. 但是,VLOOKUP函数一般情况下,只能实现单条件查找. 如果想通过VLOOKUP函数来实现双 ...
- linq里lambda写的join查询,并附加动态拼接的条件,条件为enum类型的查询
因为查询条件不固定的原因,sql式的linq查询没法动态拼接条件. 网上搜的资料整理之后终于解决. 参考资料: enum使用 http://blog.csdn.net/slowlifes/articl ...
随机推荐
- leetcode.排序.215数组中的第k个最大元素-Java
1. 具体题目 在未排序的数组中找到第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素. 示例 : 输入: [3,2,1,5,6,4] 和 k = ...
- SSOJ 317 Fast Ride
317. Fast Ride Time limit per test: 0.25 second(s) Memory limit: 65536 kilobytes input: standard ou ...
- Python基础篇(初始函数)
Python初始函数: 一.什么是函数 1.我们到目前为止, 已经可以完成一些软件的基础功能了. 那么我们来完成这样一个功 能: 约x: print("拿出手机") print(& ...
- GIT 的常见用法
git init 新建代码库 git clone新建项目 git branch 查看分支 git config 显示配置 git config -e 显示配置文件 git config user.na ...
- Blueprint的实现
Blueprint其实本身只是对view上的接口进行了注册,然后整体挂载在app上,Blueprint本身的目的就是组织多模块的平行共存,避免直接在app上注册view,其实更多的只是方便开发和代码的 ...
- SurfaceView的基本使用(转)
转自:https://www.cnblogs.com/zhangyingai/p/7087371.html SurfaceView的基本使用 一.引入: Android提供了View来进行绘图处理 ...
- Node.js的适用场景?
1).实时应用:如在线聊天,实时通知推送等等(如socket.io) 2).分布式应用:通过高效的并行I/O使用已有的数据 3).工具类应用:海量的工具,小到前端压缩部署(如grunt),大到桌面图形 ...
- SpringBoot 中定时执行注解(@Scheduled、@EnableScheduling)
项目开发中经常需要执行一些定时任务,比如需要在每天凌晨时候,分析一次前一天的日志信息.Spring为我们提供了异步执行任务调度的方式,提供TaskExecutor .TaskScheduler 接口. ...
- css强制换行和超出部分隐藏实现
一.强制换行 1 word-break: break-all; 只对英文起作用,以字母作为换行依据. 2 word-wrap: break-word; 只对英文起作用,以单词作为换行依据. 3 whi ...
- SQL IN 运算符
SQL IN 运算符 IN运算符允许您在WHERE子句中指定多个值. IN运算符是多个OR条件的简写. SQL IN 语法 SELECT column_name(s) FROM table_name ...