岁月不居,时节如流。

时光荏苒,岁月如梭。

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

其实,对于大量数据的处理,这几年微软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. 前后端读写同一个cookie 搞不定,搞不定

    后端php 前端js ------------------ ------- 前后端一起操作容易出现  .xxx.com,domain前面多了个点,在nginx上配置,也去不了,nginx报错 prox ...

  2. RemoteDisconnected: Remote end closed connection without response

  3. 使用jquery.validate组件进行前端数据验证并实现异步提交前验证检查

    学习如鹏网掌上组的项目开发,使用到了前端验证,视频里使用的ValidateForm验证框架,但是我使用的Hui的框架中使用的是jquery.validate验证框架 所以自行学习jquery.vali ...

  4. ARM指令adr adrl ldr mov

    ADR是一条小范围的地址读取伪指令,它将基于PC的相对偏移的地址值读到目标寄存器中.格式:ADR register,exper. 编译源程序时,汇编器首先计算当前PC值(当前指令位置)到exper的距 ...

  5. Redis的常用命令及数据类型

    Redis支持的五种数据类型 字符串 (string) 字符串列表 (list) 散列 (hash) 字符串集合 (set) 有序字符串集合 (sorted-set) key(键) keys * 获取 ...

  6. 2019年React学习路线图

    作者|javinpaul 译者|无明 之前我们已经介绍了 2019 年 Vue 学习路线图,而 React 作为当前应用最广泛的前端框架,在 Facebook 的支持下,近年来实现了飞越式的发展,我们 ...

  7. openwrt增加密码及ssh的方法

    openwrt增加密码及ssh的方法 1.进入openwrt系统源码的顶层目录,然后执行 make menuconfig命令进入 Network--> SSH-->  <*>o ...

  8. Reverse array

    数组颠倒算法 #include <iostream> #include <iterator> using namespace std; void reverse(int* A, ...

  9. Network基础(三):网线的制作、交换机基本命令模式、交换机命令行基本配置、交换机的密码设置

    一.网线的制作 目标: 在常见的计算机网络中,网线主要用来连接计算机与交换机(或宽带路由器).交换机与交换机.交换机与路由器,以及需要连网的其他各种设备.网线的制作与测试是作为网络管理员的一个入门技能 ...

  10. 76 学习C++

    0 引言 C++语言特性记录,提高对这门语言的理解,进而带动对编程语言特性的理解. 相关网站及教程 # W3Cschool C++教程 https://www.w3cschool.cn/cpp/ # ...