excel数据查找:内容查找统计的函数公式

news2024/12/24 11:37:12

判断单元格是否包含特定内容是平时工作中经常会遇到的一类问题,常见于包含备注信息的表格中。例如下面这个考勤汇总表,需要根据备注中的内容判断该员工是否存在加班的情况,就属于这类问题。

遇到这类问题该如何处理,常用的公式做法有三种,下面为大家逐一进行介绍。

方法1:IF+COUNTIF

公式:=IF(COUNTIF(D2,"*加班*")=0,"","是")

公式解析:

COUNTIF(D2,"*加班*")是这个公式的核心部分,这个函数主要实现的是条件计数功能,基本格式为COUNTIF(条件区域,条件)。

在这个例子中,条件区域就是一个单元格“D2”,而条件则是在要判断的内容两边同时加上通配符*后得到的值,实现的效果就是对满足条件的单元格进行计数,如果包含要判断的内容,结果为1,不包含的话结果就是0。

有了这个结果后,再使用IF函数得到最终的结果,公式=IF(COUNTIF(D2,"*加班*")=0,"","是")也就很好理解了。如果D2单元格中不包含“加班”,COUNTIF的结果就是0,IF返回对应的空值,否则返回“是”。

关于COUNTIF详细的使用方法,小伙伴们可以参考之前的教程《countif函数的使用方法以及countif函数查重复等5个案例分享》,此处不做赘述了。

方法2:IF+ISERR+FIND

公式:=IF(ISERR(FIND("加班",D2)),"","是")

公式解析:这个公式的核心部分是FIND("加班",D2),FIND函数的基本格式为FIND(要找的内容,在哪找,从第几个字开始找),如果第三参数不写,表示从首字符开始找。这个公式的意思就是在D2单元格中找“加班”这两个字,如果能找到,FIND就返回要找的内容在单元格中的位置,如果找不到就会返回一个错误值。

从上图中可以看出FIND函数的效果。接下来要判断结果是否为错误值,如果是错误值,表示没有要找的内容,这就需要用到ISERR这个函数。ISERR函数很简单,就是判断一个值是否为#N/A以外的错误值,本例中的错误值为#VALUE!,因此用这个函数完全没问题。

最后再加上IF函数,就构成了完整的公式=IF(ISERR(FIND("加班",D2)),"","是")。

相比第一个方法,这个公式略微有点难度,不过多实践两个函数也不失为一件美事。

方法3:IF+SUBSTITUTE

公式:=IF(SUBSTITUTE(D2,"加班","")=D2,"","是")

公式解析:

这个公式中用到了一个比较长的函数SUBSTITUTE,这个函数的功能是替换字符,格式为SUBSTITUTE(在哪里替换,要替换的内容,替换为什么,替换第几个),如果最后一个参数不写,表示全部替换。

公式SUBSTITUTE(D2,"加班","")的意思是把D2单元格中的“加班”两个字替换为空,替换后的结果如图所示。

接下来的一步比较有意思,用替换后的内容和原来的内容做比较,也就是SUBSTITUTE(D2,"加班","")=D2,如果包含加班的话,替换后的内容肯定不等于原来的单元格了,反之如果替换后的内容与原内容一样,表示不包含要找的内容,最后还是使用IF来实现结果的输出。

相比前两个方法,公式=IF(SUBSTITUTE(D2,"加班","")=D2,"","是")的思路非常巧妙,也从另一个方面让我们重新认识了SUBSTITUTE函数。

小结:站在解决问题的角度来说,第一个方法足够了,容易理解,也比较简单。但是站在学习的角度来说,当我们遇到一个问题时,不妨多尝试几种思路,一方面可以开拓自己的思维,另一方面也可以多熟悉一些函数,有了不同的解决方法,也就可以体会到研究公式函数的乐趣,很多所谓的高手大神,其实都是这样练出来的。

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

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

相关文章

klee2.3 教程1-2

1. klee2.3 安装 system:unbuntu 20.04 note: llvm-13klee2.3z3-4.10 1.1 install dependencies KLEE 需要 LLVM 的所有依赖项(请参阅此处),以及更多。特别是,您应该安装下面列出的程序和库。graphviz/doxygen是可…

初级C语言之【操作符】

🦖作者:学写代码的恐龙 🦖博客主页:学写代码的恐龙博客主页 🦖专栏:【初级c语言】 🦖语录:❀未来的你,一定会感谢现在努力奋斗的自己❀ 初级C语言之【操作符详解】一&am…

综合能源系统分析的统一能路理论(三):《稳态与动态潮流计算》(Python代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

spring6笔记3(bean的循环依赖,手写spring框架,ioc注解开发,JdbcTemplate)

第九章、Bean的循环依赖问题 9.1 什么是Bean的循环依赖 A对象中有B属性。B对象中有A属性。这就是循环依赖。我依赖你,你也依赖我。 比如:丈夫类Husband,妻子类Wife。Husband中有Wife的引用。Wife中有Husband的引用。 public class Husband…

【java线程池详解】

java线程池详解线程的基本状态Executor框架Executor框架组成部分Executor框架使用示意图Runnable接口、Callable接口ExecutorsFuture接口和实现Future接口的FutureTask类Future和FutureTask的关系ThreadPoolExecutor类ThreadPoolExecutor 饱和策略(拒绝策略&#xf…

MySQL去重,一条SQL语句完美解决【去重留一】

此处以某消费记录表(consume_record)为例,SQL语句如下: DELETE consume_record FROM consume_record, ( SELECT min(id) id, user_id, monetary, con…

Qt第五十五章:Qt Design Studio设计登录页并打包到python运行

目录 一、Qt Design Studio 二、导出所有文件到QRC(不要改动默认的QRC文件名称) 三、QRC转换成py 1.删除Constants.qml中的 2.将App.qml和Screen01.qml中的 3.转换 4、将QRC文件和转换后的py文件,复制到python项目中使用。 一、Qt Des…

【云原生 Kubernetes】k8s集群部署springboot项目

一、前言 本篇,我们将基于k8s集群,模拟一个比较接近实际业务的使用场景,使用k8s集群部署一个springboot的项目,我们的需求是: 部署SpringBoot项目到阿里云服务器 ;基于容器打包,推送私有镜像仓…

Presto 之 BTreeIndex 索引代码走读

一. 前言 本文主要介绍在Presto(OpenLookeng)中的BTree索引的代码实现。关于BTree索引原理的介绍可以参考官网资料openLooKeng documentation。 二. BTreeIndex 索引建立 在Presto中,BTreeIndex 索引是通过mapdb中的BTreeMap数据结构实现的&a…

【java入门系列一】java基础

学习记录🤔写在前面JDK\JREPython有没有虚拟机?第一个code规范学习方法转义符号注释讨论总结谢谢点赞交流!(❁◡❁)更多代码: Gitee主页:https://gitee.com/GZHzzz博客主页: CSDN:https://blog.…

13---SpringBoot整合JWT,实现登录和拦截

1、 JWT简介 什么是JWT? JWT(JSON Web Token)是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准。它将用户信息加密到token里,服务器不保存任何用户信息。服务器通过使用保存的密钥验证token的正确性,只要正确即通过验证&…

在Ubuntu上安装Azure DevOps代理程序

Contents1 概述2. 安装Ubuntu 18.04操作系统3. 安装Azure DevOps Server 代理3.1 安装Azure DevOps Server 代理3.2 以服务方式运行代理1. 概述Ubuntu是一个以桌面应用为主的Linux操作系统,目前在不适用微软Windows的企业中,ubuntu被广泛应用在个人电脑中…

网络原理4 数据链路层

文章目录mac地址网络原理的总结在数据链路层中,最主要的就是以太网协议这里的目的IP和原地址都是mac地址 mac地址 首先要知道什么是Mac地址,mac地址也叫做物理地址或以太网地址,它是一个用来确认网络设备位置的位置,一个网卡就会…

javaWeb——第一章概述

目录 1.1 软件的分类 1.2 软件架构 1.3 web软件 1.4 web程序 web服务器: Tomcat: 扩展 Java web就是窗口和程序之间的交互: 1.1 软件的分类 系统软件 应用软件 介于两者之间的中间件(插件) 1.2 软件架构 B/S 服务器与浏…

ZC706P+ADRV9009连接RADIOVERSE详解之三

做好SD卡映像,连接好硬件之后,我们就可以尝试软件操作了。 步骤1:设置好网络 打开软件界面我们看到,板子默认的地址为192.168.1.10 端口号为55555.我们一定也设置跟板子连接的以太网口处于192.168.1网段,并且子网掩码…

【ESP32+freeRTOS学习笔记-(四)任务调度机制】

目录1 、什么是任务的调度机制1.1 概念1.2 三种算法1.3 决定算法的宏2、基本词条解释3、调度算法解释3.1 具有时间片的优先级抢先调度 Prioritized Pre-emptive Scheduling with Time Slicing3.1.1 图解高优先级任务抢占低优先级任务3.1.2 图解具有时间片的优先级抢占3.1.3 总结…

如何通过少量样本推断整体业务情况

在产品运营中非常常见,为了能够解决大量数据时分析效率急剧下降的窘况,我们就必须能够去分析非常小量样本的特征,再用这些特征去评估海量总体数据的特征,我们叫它样本检验。 样本,是指我们需要“分析或考察的数据”的…

MAC(m1)-安装Redis6.2.8

Redis官网:Download | Redis 我准备下载7以前的版本 下载放到如下位置 在这个目录打开终端: 编译测试,执行命令:sudo make test 等待了好久,估计好几分钟 最后出现: 下面准备安装redis,编译安…

计算机网络的定义和性能指标

目录计算机网络的定义计算机网络的分类计算机网络的性能指标速率带宽吞吐量时延时延带宽积往返时间利用率丢包率计算机网络的定义 计算机网络的精确定义并未统一;计算机网络的最简单的定义是:一些互相连接的、自治的计算机的集合; 互连&…

Kubernetes组件_Scheduler_02_二次调度

文章目录一、前言二、二次调度/运行期间调度Descheduler2.1 机器上安装helm2.2 每个机器都要准备好镜像2.3 使用helm部署三、Descheduler需要注意的点(相关理论知识)3.1 descheduler 调度策略3.2 descheduler 有哪些不足3.2.1 基于 Request 计算节点负载并不能反映真实情况3.2.…