Excel随笔.20191025.1--按条件去重计数

本文介绍了如何在Excel中利用透视表和特定函数进行按条件的去重计数。通过OFFSET、COUNTA、SUMPRODUCT、COUNTIF等函数组合,实现了筛选透视表时去重计数结果自动更新。示例包括了基础的去重计数以及增加条件(如日期>=today())的去重计数方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

例1

实现功能:

  • 对excel中的透视表(pivot table)中的某列,去重计数;
  • 当筛选透视表时,去重计数结果可以自动识别透视表的变化;

实现结果如下:

  • 对透视表中的第一列(Personnel Number)计数,结果是6(下图1所示)
  • 筛选切片器,选择AAA,结果是 (下图2所示)

图1 在这里插入图片描述
图2在这里插入图片描述
实现所需函数:

  • OFFSET
  • COUNTA
  • SUMPRODUCT
  • COUNTIF

具体操作步骤:

  • 1.公式–命名管理–新建
    • 1.1.输入名字(Personnel_Number,根据自己需要命名,不要有空格)
    • 1.2.输入公式如下:
=OFFSET('Summary Table'!$B$7,,,COUNTA('Summary Table'!$B:$B)-3,1)
#offset(需要计数区域的起始单元格,单元格向下移动几行,单元格向右移动几列,需要计数区域的行数,需要计数区域的列数)
#offset(本例中需要从Summary Table的B7单元格开始,不需要移动,不需要移动,B列行数减3,1列)
 - 具体如下图

在这里插入图片描述

  • 2.在空单元格输入公式如下:
=SUMPRODUCT(1/COUNTIF(B:B,Personnel_Number))
#去重计数,结果是6

例2

实现功能:

  • 在例1的基础上,在一定的条件下的去重计数
  • 本例中需要满足日期列>=today()的条件下,对透视表中的B列,去重计数
  • 本例中的today()是2019年10月25日

实现结果如下图:
在这里插入图片描述

实现步骤:

  • 1.重复例1中的具体操作步骤1,对C列区域命名(我命的名字是First_Available_Date,在下面的公式中会引用)
=OFFSET('Summary Table'!$C$7,,,COUNTA('Summary Table'!$B:$B)-3,1)
  • 2.在空单元格输入公式如下:
=SUM(IFERROR(1/COUNTIFS(Personnel_Number,Personnel_Number,First_Available_Date,">="&TODAY())*(First_Available_Date>=TODAY()),))
#>=today()条件下,有5行结果,其中有2行是重复的,所以结果为4

!!注意:公式输入之后,需要同时按下Ctrl+Shift+Enter,会看到公式最外层自动生成大括号,如下图:
在这里插入图片描述
此时,去切片器中进行筛选的情况下,依然是有效的,如下图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值