网站首页 > 技术文章 正文
前几天工作中有一个小伙伴问到了一个问题,是关于多条件不重复计数的问题,小必给大家分享三种方法,依次是透视表、公式函数、Excel Power Query以及SQL的方法。
给大家上一下数据源,如下图所示:
对每个年月对应的编码进行不重复计数。结果如下图所示:
方法1:数据透视表
Step-01:选择数据源区域A1:C27,单击【插入】-【数据透视表】,在弹出的对话框中选择存放的位置,然后勾选【将此数据添加到数据模型】,最后单击【确定】。如下图所示:
Step-02:在透视表字段列表布局中,将“年”与“月”拖放至【行字段】,将“编码”拖放至【值】,然后右键单击【行】中的“编码”字段,然后在弹出的对话框中选择【非重复计数】。如下图所示:
Step-03:设置透视表布局。最后结果如下图所示:
方法2:公式函数法
在G2单元格中输入公式:
=SUMPRODUCT(((E2=$A$2:$A$27)*(F2=$B$2:$B$27))/COUNTIFS($A$2:$A$27,$A$2:$A$27,$B$2:$B$27,$B$2:$B$27,$C$2:$C$27,$C$2:$C$27)),然后按Enter键完成下拉。
对于上面的公式,有兴趣的小伙伴可以按F9或者公式求值一步步去拆解其原理,这里限于篇幅,再做过多的解释。
方法3:Excel Power Query
Step-01:选择数据区域,单击【数据】-【从表格/区域】,在弹出的对话框中选择【确定】。如下图所示:
Step-02:在Power Qeury编辑器界面中先删除步骤【更改的类型】,然后同时选择"年"与“月”两列,然后单击【分组依据】,在弹出的对话框中输入【新列名】,【操作】为【非重复计数】,如下图所示:
或者直接在公式编辑栏中输入公式:
= Table.Group(源, {"年", "月"},
{
{
"编码不重复计数",
each Table.RowCount( Table.Distinct(_))
}
}
)
Step-03:然后数据加载至工作表中,如下操作:
方法4:在Excel中使用SQL
Step-01:选择【数据】-【现有链接】,在弹出的对话框中选择【浏览更多】,找到当前工作簿的位置,单击【打开】,选择要操作的工作表。如下图所示:
Step-02:在弹出的对话框中选择【属性】,再次在打开的对话框中选择【定义】,如下图所示:
Step-03:在弹出的对话框中的【命令文本】文本框中输入SQL代码,如下图所示:
select distinct 年,月,count(*) as 不重复编码计数from (select distinct 年,月,编码from[Sheet1$]) as agroup by 年,月
Step-04:最后单击【确定】后即可。结果如下图所示:
猜你喜欢
- 2024-10-20 常用SQL系列之(八):列值累计、占比、平均值以及日期运算等
- 2024-10-20 选读SQL经典实例笔记02_多表查询(sql语句多表查询案例)
- 2024-10-20 不知道怎么分析MySQL查询瓶颈,这款自带工具太香了,强烈推荐
- 2024-10-20 怎么找出连续5天登录的用户,大数据面试题sql
- 2024-10-20 Pandas与SQL的数据操作语句对照(pandas和sql哪个速度快)
- 2024-10-20 「Excel」筛选不重复的数据—Part1
- 2024-10-20 Excel零基础学SQL22:中式排名,美式排名,分组排名
- 2024-10-20 MySql基础使用「增删改查」20211221
- 2024-10-20 Pandas&SQL语法归纳总结,真的太全了
- 2024-10-20 hive select 语法使用详解(hive select * from)
- 1509℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 528℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 492℃MySQL service启动脚本浅析(r12笔记第59天)
- 472℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 469℃启用MySQL查询缓存(mysql8.0查询缓存)
- 450℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 429℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 426℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)