EXCEL: 查找符合多个条件,并且不重复的数据的个数的3种方法:公式,数据透视表,数组公式

news2025/1/20 2:02:57

1 目标问题:想筛选出(在a列月份为5)且不重复的b列数据有几个

有2个条件

  • 查找第1列月份为5月的
  • 并且第2列不重复的
  • 数据个数

方法1:用加辅助列+简单公式的办法

其实逻辑是更清晰的,就是显得步骤繁琐

  • 第1个辅助列1,查找日期中的月份,
  • 具体用month() 等解决
  • 第2个辅助列,查找B列不重复的数据,
  • 具体用=IF(COUNTIF(B$5:B5,B5)=1,1,0) 来解决,如果重复就标记为0,不重复则标准为1,
  • 这个技巧就是主义,让范围是逐步从前1个---变为前2个---变为前3个---等等
  • 记住: 不是从全列查询,这样重复的就1次都无法记了,而是需要锁住列的上限,逐渐扩大列的范围

 

方法2:辅助列+数据透视表(有的版本解决不了重复值的问题)

  • 仍然需要辅助列,月份
  • 汇总值一般默认都是求和,但是这里不能用求和
  • 需要调整汇总值,点击它会弹出菜单,选择计数而不是求和
  • 有的版本有唯一计数,有的版本,数据透视表无法去重

   

方法3 用数组公式来解决

我自己改良的函数

  • =SUMPRODUCT(1/(COUNTIF(B5:B18,B5:B18)*IF(VALUE(MID(A5:A18,6,1))=5,1,99999999)))
  • 用数组公式,这个必须是数组公式
  • 行列数的思想
  • 看待数组
  • 多个条件需要用乘法
  • 月份5的条件要设计为999999,为是为了1/999999 等于极小数约等于0

1 网上大多数答案,都是查找本列的不重复个数

比如这种公式

=SUMPRODUCT(1/COUNTIF(B5:B18,B5:B18))

2 而复杂情况,可能是需要根据其他列的查,比如本文要解决的问题

=SUMPRODUCT(1/COUNTIF(B5:B18,B5:B18))

这个只返回了B列里不重复的数据个数,确实是10个

=SUMPRODUCT(1/(COUNTIF(B5:B18,B5:B18)*IF(VALUE(MID(A5:A18,6,1))=5,1,99999999)))

这个返回了B列里不重复的数据个数 且 月份=5的,个数是5个

不能用这个错误写法

=SUMPRODUCT(1/(COUNTIF(B5:B18,B5:B18)*IF(VALUE(MID(A5:A18,6,1))=5,1,99999999)))

=SUMPRODUCT(1/(COUNTIF(B5:B18,B5:B18)*IF(VALUE(MID(A5:A18,6,1))=5,1,0))) 这样就会报错,因为1/0报错

下面是详细过程,有兴趣的可以看

 

 

 

 

 

3 EXCEL365的公式?

  • subtotal
  • SUMPRODUCT(1/(COUNTIFS(A2:A10000,O2:O10000)))
  • 我查了下我的非365版本里
  • subtotal (参数,范围)
  • 比如subtotal (1,范围) =average
  • 比如subtotal (2,范围)= count
  • 比如subtotal (9,范围) =sum
  • 暂时不知道有什么用处

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/532284.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vps赚钱的小项目,通过售卖流量赚钱

文章目录 vps赚钱的小项目,通过售卖流量赚钱问题来源为什么能赚钱?赚钱速度呢?注册流程注册复制token 设置vps更新系统组件安装docker通过docker启动项目设置开机自启删掉容器 windows使用方法 查看网页端提现操作总结 vps赚钱的小项目&#…

Arc 打断拆分成多个线段

公司插件的梁齐斜板功能更新,设计师提出需求可以拆分弧梁,并能对齐到板顶。 本文只讨论拆分弧梁,椭圆再后续更新。 首先看以下弧形的创建api API中提供了三种方法 第一种时指定起点与终点,最后选择顶点形成的弧形 第二种是指定面…

MyBatis Plus 插件 动态数据源实现原理与源码讲解 (dynamic-datasource-spring-boot-starter-master)

目录 1. 介绍 2. 基本原理 3. 源码介绍 3.1 使用 AOP 拦截,方法执行前获取到当前方法要用的数据源 3.2 实现自定义 DataSource 接口,实现 DataSource 接口的 getConnect 方法做动态处理 1. 介绍 多数据源即一个项目中同时存在多个不同的数据库连接…

Win11的两个实用技巧系列之关闭分屏模式方法

怎么关闭Win11电脑分屏模式?Win11关闭分屏模式方法 有用户在使用电脑的时候不小心开启了电脑的分屏模式,导致自己无法正常的进行电脑操作了,本文就为大家带来了Win11关闭分屏模式方法,一起看看吧 Win11电脑分屏模式怎么关闭?有用…

oracle杂记

rlwrap…rpm 可以在sqlplus上翻下翻 然后alias sqlplus‘rlwrap sqlplus’ alias rmanrlwrap rman 数据库是由存储部分*.dbf 和运行的process和所使用的内存区域构成 远程安装前确认是否图形化能打开 yum -y install xorg-x11-apps xclock 启动顺序: nomount 启…

Unity VR开发教程 OpenXR+XR Interaction Toolkit 番外(一)用 Grip 键, Trigger 键和摇杆控制手部动画

文章目录 📕制作手部动画📕设置 Animation Controller📕添加触摸摇杆的 Input Action📕代码部分 在大部分 VR 游戏中,手部的动画通常是由手柄的三个按键来控制的。比如 Grip 键控制中指、无名指、小拇指的弯曲&#xf…

城际铁路列车控制系统

城际铁路列控系统在CTCS-2级列控系统基础上,应具备站间自动运行、车站定点停车及车站通过、折返作业、列车运行自动调整、车门/站台门(安全门或屏蔽门)防护及联动控制、列车运行节能控制等自动运行相关功能。 1、车载设备工作模式 城际铁路…

Access Specifier Manipulation解决方案

解释:AccessibleObject API 允许程序员绕过由 Java 访问说明符提供的 access control 检查。特别是它让程序员能够允许反映对象绕过 Java access control,并反过来更改私有字段或调用私有方法、行为,这些通常情况下都是不允许的 在面向对象编…

【微信小程序】微信支付接入全流程

一. 前置条件 接入支付首先得需要有企业资质&#xff0c;并开通企业对公户注册微信支付并进行对公户打款认证 二. 开始接入 1. 下载微信支付的AP证书 2. 服务端接入微信支付 2.1 引入相关maven配置 <dependency><groupId>com.github.binarywang</groupId&…

Nginx内存池(二)——小块内存分配

内存分配源代码&#xff1a; void * ngx_palloc(ngx_pool_t *pool, size_t size) { #if !(NGX_DEBUG_PALLOC)if (size < pool->max) { // 用内存池分配内存return ngx_palloc_small(pool, size, 1);} #endif// mallocreturn ngx_palloc_large(pool, size); }static ngx_…

对话风变科技 CTO|从线上教育服务商到教育资源供给平台,风变背后的第二增长曲线思维

Authing 是用户中心团队&#xff0c;我们是业务系统&#xff0c;大家冲刺一个目标、再做合并&#xff0c;然后让基于多租户的 B 端产品成功上线。那个阶段刚好有个客户卡在当时的时间点&#xff0c;一定要赶着上线&#xff0c;最后 Authing 的协作让我们赢得了客户信任&#xf…

基于scrapy+mongodb的校园数据获取

Scrapy以及MongoDB介绍&#xff1a; Scrapy: Scrapy是一个Python编写的开源网络爬虫框架&#xff0c;可以帮助开发人员高效、快速地从互联网上抓取、提取和处理数据。Scrapy拥有强大的可扩展性&#xff0c;可以通过定制管道、中间件和Spider来自定义爬虫行为&#xff0c;同时它…

( 位运算 ) 371. 两整数之和 ——【Leetcode每日一题】

❓371. 两整数之和 难度&#xff1a;中等 给你两个整数 a 和 b &#xff0c;不使用 运算符 和 - ​​​​​​​&#xff0c;计算并返回两整数之和。 示例 1&#xff1a; 输入&#xff1a;a 1, b 2 输出&#xff1a;3 示例 2&#xff1a; 输入&#xff1a;a 2, b 3 输出…

源码解读guava cache get接口的秘密

guava cache是谷歌开源的一种本地缓存&#xff0c;实现原理类似于ConcurrentHashMap&#xff0c;使用segments分段锁&#xff0c;保证线程安全&#xff0c;支持高并发场景。同时支持多种类型的缓存清理策略&#xff0c;包括基于容量的清理、基于时间的清理、基于引用的清理等。…

WPF基础使用

wpfwindows presentation foundation 官方文档 https://learn.microsoft.com/zh-cn/dotnet/api/?viewnet-7.0 一&#xff1a;WPF窗口设置为透明 在wpf中要将窗口设置为透明&#xff0c;除了将窗口背景色的Alpha分量设置为0以外&#xff0c;你还必须将窗口的AllowsTransparency…

STM32串口编程基础知识讲解

文章目录 前言一、串行通信和并行通信二、全双工&#xff0c;半双工&#xff0c;单工传输三、同步通信和异步通信四、波特率总结 前言 本篇文章给大家介绍一下串口的基础编程知识&#xff0c;这些知识是属于串口的理论知识&#xff0c;在开始学习编写代码的时候必须要掌握这些…

消息队列中间件 - RabbitMQ消息的持久化、确认机制、死信队列

持久化和应答机制Ack 消息队列中间件系列的最后一篇了&#xff0c;RabbitMQ消息的持久化、确认机制、死信队列、负载均衡等一系列进行说明。 消息持久化 当RabbitMq重启以后&#xff0c;未消费的消息&#xff0c;可以在服务重启后继续消费&#xff0c;不会丢失。 应答机制A…

nodejs处理xlsx文件生成json文件

nodejs处理xlsx文件有好几种方式&#xff0c;这里用的是js-xlsx库&#xff1b; 需求 有一个 xlsx 的文件&#xff0c;里面有几个不同的 sheet&#xff0c;需要读取这个表格中不同 sheet 的数据&#xff0c;并且为每个 sheet 生成对应的 json 文件。 例如有一个名为 template…

草根测试员的涨薪之路:我是如何从0到月薪20K的?(仅供借鉴)

我是一名转IT测试人&#xff0c;我的专业是化学&#xff0c;去化工厂实习才发现这专业的坑人之处&#xff0c;化学试剂害人不浅&#xff0c;有毒&#xff0c;易燃易爆&#xff0c;实验室经常用丙酮&#xff0c;甲醇&#xff0c;四氯化碳&#xff0c;接触多了&#xff0c;吃个饭…

网络安全:Hydra 端口爆破工具.(九头蛇)

网络安全&#xff1a;Hydra 端口爆破工具.&#xff08;九头蛇&#xff09; Hydra 也叫九头蛇&#xff0c;是一款开源的暴力PJ工具&#xff0c;集成在kali当中。可以对多种服务的账号和密码进行爆破&#xff0c;包括 Web 登录、数据库、SSH、FTP 等服务. 目录&#xff1a; 网络…