筛选状态下的计算套路,难并实用着!

筛选状态下的计算套路,难并实用着!

浏览次数:781次
信息来源: 银河系资源网
更新日期: 2022-09-05
文章简介

1、筛选后添加序号如下图所示,要在筛选状态下也能保持连续的序号,咱们可以先取消筛选,在D2单元格输入以下公式,然后下拉:=SUBTOTAL(3,E$1:E2)-1SUBTOTAL函数只统计可见单元格内容。第一参数使用3,表示执行COUNT...

1、筛选后添加序号

如下图所示,要在筛选状态下也能保持连续的序号,咱们可以先取消筛选,在D2单元格输入以下公式,然后下拉:

=SUBTOTAL(3,E$1:E2)-1

SUBTOTAL函数只统计可见单元格内容。

第一参数使用3,表示执行COUNTA函数的计算规则,也就是对第二参数统计可见单元格的个数。

第二参数使用一个动态扩展的范围E$1:E2,随着公式的下拉,这个范围会依次变成E$1:E3,E$1:E4,E$1:E5,……公式始终计算E列从第一行至公式所在行这个区域中,处于可见状态的非空单元格个数。用结果减1,计算结果就是和序号一样了,而且筛选后也能保持连续。

注意,注意,这个公式如果换成从=SUBTOTAL(3,E$2:E2),也就是从公式所在行开始的话,序号结果虽然没问题,但是筛选时最后一行会被Excel当成汇总行而始终显示。

2、筛选后相乘

如下图所示,在对E列执行筛选后,需要计算数量乘以单价的总额。E2单元格公式为:

=SUMPRODUCT(SUBTOTAL(3,OFFSET(E3,ROW(1:13),))*F4:F16*G4:G16)

要计算筛选后的乘积,问题的关键是判断数据是不是处于可见状态。这个可见状态怎么判断呢?需要让OFFSET和SUBTOTAL函数来结合一下。

首先使用OFFSET函数,以E3单元格为基点,依次向下偏移1~13行,得到一个多维引用。

这个多维引用中包含13个一行一列的引用区域,也就是对E4~E16的单个单元格分别进行引用。

接下来使用SUBTOTAL函数,第一参数使用3,即依次统计E4~E16每个单元格中的可见单元格个数,如果单元格处于显示状态,则对这个单元格的统计结果为1,否则统计结果为0。

得到类似以下效果的内存数组:{1;0;1;1;1;1;0;0;1;1;0;1;0}再使用以上结果乘以F列的数量和G列的单价,如果单元格处于显示状态,则相当于1*数量*单价,否则相当于0*数量*单价。

最后使用SUMPRODUCT函数对乘积进行求和。

3、筛选后按条件计数

如下图所示,对E列部门执行筛选后,要计算工龄大于3的人数。E2单元格公式为:

=SUMPRODUCT(SUBTOTAL(3,OFFSET(E3,ROW(1:13),))*(G4:G16>3))

前半部分计算原理与上一个示例相同,核心也是判断是单元格否处于可见状态。

公式后半段的统计条件(G4:G16>3)与前半段的判断结果相乘,表示两个条件同时符合,也就是处于可见状态、并且G列大于3的个数。

4、筛选后自动更正标题

如下图所示,对E列部门名称进行筛选后,希望D1单元格的标题自动变更为对应的部门名称,公式为:

=LOOKUP(1,0/SUBTOTAL(3,OFFSET(D1,ROW(1:15)-1,)),E:E)&”统计表”

SUBTOTAL与OFFSET函数结合部分,目的仍然是判断D列的单元格是否为可见状态。

得到由0和1组成的内存数组:{0;1;0;0;0;0;1;1;1;1;0;1;0;1;0}用0/这个内存数组,得到由0和错误值构成的新内存数组:{#DIV/0!;0;#DIV/0!……;0;0;0;0;#DIV/0!;0;#DIV/0!;0;#DIV/0!}LOOKUP函数以1作为查询值,在以上内存数组中查找最后一个0的位置,并返回对应位置的E列的内容。

最终目的就是实现筛选后,提取最后一个处于显示状态的单元格内容。

将提取到的内容与&”统计表”连接,变成可自动更新的表格标题。

打印设置技巧多,文档打印不翻车
« 上一篇
​Excel中的数据类型,一次搞明白
下一篇 »
  • 如何计算同一单元格中的Excel数据的公式和?
    750466阅读
    在某些表格中,我们需要将所有数据输入到一个单元格中来计算公式,而通用公式是在不同的单元格中计算的。我们应该如何计算这种情况?在这里,小王先生将与大家分享几种常用的方法。1.用户定义的名称首先,输入公式定...
  • 按日期记录的产品销量,SUMIFS帮你按月统计
    703294阅读
    今天,朋友传来EXCEL文件,内有两张工作表,一张是按照日期记录的商品销量,另一张是按月统计的模板,请帮忙统计每种产品的月销量。商品销量记录表:按月统计的模板:关键操作第一步:TEXT函数建立辅助列在日期列前插...
  • excel从字符串中提取数字——数字位于字符串开头
    280925阅读
    本文主要研究从字符串开头提取数字的技术:1. 这些数字是连续的2. 这些连续的数字位于字符串的开头3. 想要的结果是将这些连续的数字返回到单个单元格对于下面研究的每种解决方案,我们需要在两种不同的情况下测试其健...
  • excel按类别分页打印,有时需要强制
    129536阅读
    今天,就有位朋友提出一个很实用的问题:有时候需要按照类别打印,比如以下数据样表,需要按地区分页打印:怎么办?两种方法:一、筛选后打印这种方法,可能大家都会用到:先按照不同地区筛选,筛选一次打印一次。如...
  • Excel表格日期公式和快捷技巧教程
    100566阅读
    Excel表格日期公式和快捷技巧教程1.excel日期的快捷键方法。首先,让我们介绍快捷键的方法(不需要公式)。方法很简单,在细胞里,同时按两个快捷键:Ctrl你可以得到当前日期。注意:1)不需要输入号码。2)其中;在英文...
  • excel公式教程:找到和的加数
    79918阅读
    有时候,我们给出一个目标值,想要知道这个值是已经提供的一系列值中哪几个值的和。如下图1所示,在单元格A2中给出了目标值47,在单元格C1:K1中有9个值,现在我们想知道这些值中哪些值相加等于47,在这些值的下方单元...
  • Excel中F8键的妙用
    47135阅读
    键盘上的键有什么用呢?今天我们一起来看看键在excel表中能发挥什么作用呢?1、使用F8键的功能选取单元格区域:比如:我要选中区域B2:D7这还不简单啊,直接用鼠标选取就行啦,对,没错,但是除了使用鼠标直接选取外,...
  • Excel中Rank函数排名
    31756阅读
    EXCEL中有一个很神奇的函数“RANK”,他能够将数字的排名单独显示在另一列,而且可以去除重名次。所显示的结果是有多少人就显示多少名。下面小编就来与大家分享一下,希望对大家有点帮助。1.返回一列数字的数字排位。...
  • “Excel批处理”成批修改文件名 以帮助您组织文件!
    31411阅读
    操作方法步骤1:首先定义名称,引用位置是[=FILES(‘D:\ my folder \ *。docx ‘)];自己设置驱动器号路径!查看您需要组织文件夹的位置,并设置它!然后,在单元格A1中输入[=INDEX(名称,行(A1))]的引...
  • Excel一学就会的饼图制作技巧
    20240阅读
    如何用饼图来展示任务完成百分比。先看效果:要实现这样的效果,其实很简单,接下来咱们就看看具体的操作过程:步骤1 准备数据源B1单元格中输入完成率,B2单元格中输入公式计算剩余量:=1-B1步骤2 插入饼图步骤3 设置...

如本文对您有帮助,随意赞赏一下!