excel文本函数应用:单元格中的数字和字母,如何判断?

news2024/12/23 12:32:47

文本字符是Excel中除了数字以外的另一种非常常用的数据类型,Excel也提供了大量的文本函数。利用这些函数我们可以用来判断字符串开头是否为数字、字符串是否同时包含了数字和英文、字符串是否包含了指定字符,可以用来转换英文字母的大小,可以用来删除字符串前后空格。下面咱们一起来学习下。

1.判断字符串开头是否为数字

CODE()函数可以将Excel中任意字符串中的第一个字符转换为ANSI字符集中对应的数字代码,然后可以通过判断数字代码的大小,来判断字符的类型。CODE()函数的语法结构为:CODE(TEXT),CODE()函数仅需要一个必选参数TEXT,该参数代表了要转换为数字代码的字符。

例子,某网站服务器数据变更,新服务要求会员名不能以数字开头,如果会员是以数字开头,则会被打上无效标志“×”。

通过查询ANSI字符集可知,数字0-9对应的数字编码是48-57。会员名要求不能以数字开头,那么只需要将会员名称的第一个字符转换为数字编码,只要这个数值在48-57之间,就被作上“×”标志。可以在C2单元格输入公式“=IF(AND(CODE(A2)>=48,CODE(A2)<=57),"×","")”,将公式向下填充到C23单元格,判断所有会员名是否有效。

该公式包含了3个函数,其中最内层的CODE()函数用于返回字符串的数字编码。这里我们直接将A2单元格作为其参数,也能获得正确结果,原因在于当CODE()函数的text参数为一个字符串时,函数仅返回字符串中第一个字符的数字编码。

2.随意转换字母的大小写

英文字母有大小写之分,如果要通过函数对英文字母的大小写进行转换,可以使用UPPER()函数和LOWER()函数。

如果要求英文名称书写必须规范,如输入单词时,首字母需要大写,可以用PROPER()函数自动将小写的首字母转换为大写。以上三个函数均包含一个必选参数text,text代表要进行编辑的字符。具体功能如下:

? UPPER()函数用于将给定字符串中所有英文小写转换为英文大写。

? LOWER()函数用于将给定字符串中所有英文大写转换为英文小写。

? PROPER()函数用于将小写字符的首字母转换为大写。如果字符串不包含英文,不进行转换,只有当字符串中包含英文单词,且单词首字母不是大写时,才能看到PROPER()函数的效果。

通过下面例子,可以轻松了解三个函数的用法。

3.字符串中是否同时包含了数字和英文

如果需要在一个文本中查找另一个文本的位置(区分字符的大小写),那么可以使用FIND()函数。

FIND()函数可以在指定的字符串中查找给定的字符(区分字符的大小写),并返回被查找字符在原字符串中首次出现的位置。FIND()函数的语法格式为:

FIND(find_text,within_text,[start_num])

从函数的语法格式中可以得知,FIND()函数包含两个必选参数find_text和within_text,以及一个可选参数start_num,各参数意义为:

? find_text:要在原字符串中查找的字符或字符串。

? within_text:要在其中查找find_text字符串的原字符串。

? start_num:指定要从within_text的第几个字符开始查找,如果省略此参数,则从第一个字符开始查找。

举个例子,某网站的注册密码至少由字母和数字两部分组成,否则需要提示修改密码。

分析思路:要判断密码中是否包含数字和字母,就需要在原密码字符串中分别查找数字和字母,如果两者都能找到,密码就不用更改,否则提示“请更改密码”。要精确查找某个字符,可以使用FIND()函数。由于需要查找字符串中是否包含数字和字母,我们可以使用CHAR()函数结合ROW()函数生成要查找的字符,并对查找的结果进行统计。如果找到,那么统计结果必定大于或等于1,若没有找到,那么统计结果必定等于0。通过AND()函数将两次查找的结果进行结合,从而判断密码是否需要修改。

具体步骤:在E2单元格中输入数组公式“{=IF(AND(COUNT(FIND(CHAR(ROW($48:$57)),C2))>=1,COUNT(FIND(CHAR(ROW($65:$122)),C2))>=1),"","请更改密码")}”,按“Ctrl+Shift+Enter”组合键结束数组公式。双击E2单元格右下角的自动填充柄,向下填充公式至E41单元格,判断其它用户的密码是否需要修改。

公式看似比较复杂,但还是比较好理解的。首先公式通过“ROW($48:$57)”返回一个48-57的自然数序列,并用CHAR()函数返回该序列数字对应的字符,得到0-9的常量数组。然后通过FIND()函数在C2单元格中分别查找0-9的数字,并生成一个数组,当C2中不包含查找的数字,会产生#VALUE!错误,再用COUNT()函数对这个数组进行统计,计算其中非错误值的个数,最后判断结果是否大于等于1。这就是公式红色部分的内容,蓝色部分与其大致相同,只是后部分用“CHAR(ROW($65:$122))”返回包含所有英文字母和部分符号的数组。当AND()函数的两个部分都返回TURE时,通过IF()函数返回一个空值,否则返回文本“请更改密码”。

4.字符串中是否包含了指定字符

SEARCH()函数可以在指定的字符串中查找给定的字符(区分字符的大小写),并返回被查找字符在原字符串中首次出现的位置。SEARCH()函数的语法格式为:

SEARCH(find_text,within_text,[start_num])

从函数的语法格式中,SEARCH()函数包含两个必选参数find_text和within_text,以及一个可选参数start_num,各参数意义和FIND函数相同。

SEARCH()函数在查找字符串的过程中,不会区分英文字符的大小写,并且在find_text参数中,还可以使用通配符问号“?”和星号“*”,其中问号代表任意一个字符,星号代表任意多个字符。如果要查找实际的问号和星号,则需要在该字符前键入波形符“~”。

举个例子,某公司现在要统计出擅长PPT的员工数量,由于员工的书写不规范(同一单词有大写也有小写),并都在同一个单元格中,我们可以用SEARCH()函数进行查找,将查找的结果分配到一个数组中,再统计此数组中非错误值的数量。

具体步骤:在H1单元格输入数组公式“{=COUNT(SEARCH(F1,C2:C41))}”,按“Ctrl+Shift+Enter”组合键结束数组公式。

“SEARCH(F1,C2:C41)”部分表示在“C2:C41”单元格区域中搜索F1单元格的值,如果找到,会返回一个数值,否则返回错误值,即得到一个由数字和错误值组成的数组,最后使用COUNT()函数对此数组中非错误值进行统计,得到所需结果。

5.删除文本中前后两端的空格

某些字符串中可能包含有不需要的空格,为了字符串的精确性,可以通过TRIM()函数将其删除。该函数语法结构为TRIM(text),text表示要处理的文本字符串。

例如从网站导入的日期数据中包含空格,EXCEL就会自动将日期识别为文本,此时可以通过TRIM()函数进行处理。

由于下图中A列的日期前面包含空格,导致EXCEL不能正确识别,我们可以在B列通过TRIM()函数删除A列对应单元格字符串前的空格,并以乘1的形式将其转化为代表日期的序列,将该区域设置为日期类型即可正确显示。

最后,我们再巩固下,找出字符对应的数字编码用CODE()函数,随意转换字母的大小写用UPPER()、LOWER()和PROPER()函数,查找文本的位置用FIND()、SEARCH()函数,删除文本前后两端的空格用TRIM()函数。

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

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

相关文章

Java基础之Stream的使用078

1. Stream 的使用 Stream 是什么&#xff1f; Stream 是数据渠道&#xff0c;用于操作数据源&#xff08;数组、集合等&#xff09;所生成的元素序列。 Java8两大最为重要的改变就是 Lambda表达式 与 Stream API&#xff0c;这两种改变的引入带来的是新的抽象方式 &#xff08…

目标检测之Fast RCNN概述

基本原理 Fast Rcnn主要步骤为 利用SR算法生成候选区域利用VGG16网络进行特征提取利用第一步生成的候选区域在特征图中得到对应的特征矩阵利用ROI pooling将特征矩阵缩放到相同大小并平展得到预测结果 相对于RCNN的优化 主要有三个改进 不再将每一个候选区域依次放入CNN网络…

【基于通道-空间注意的高分辨率锐化】

Channel–spatial attention-based pan-sharpening of very high-resolution satellite images &#xff08;基于通道-空间注意的很高分辨率卫星影像全色锐化&#xff09; 全色锐化处理旨在生成新的合成输出图像&#xff0c;其保留全色的空间细节和多光谱图像输入的光谱细节。…

【服务器端程序的演进过程】

目录 1 服务器端程序的演进过程 阶段一:静态服务器 阶段二:普通动态服务器 阶段三: 以用户共享内容为主的互联网生态 阶段四: 微服务时代(有高并发需求或特征的网站) 2 Java服务器项目分类 3 微服务概述 3.1 什么是微服务 3.2 为什么需要微服务 3.3 怎么搭建微服务项…

C#获取计算机详细的软件和硬件信息

利用System.Management提供的类可以用于读取本地计算机设备的各种数据&#xff0c;包括操作系统、软件、硬件的各种详细信息&#xff0c;内容很丰富。 System.Management的命名空间下&#xff0c;ManagementObjectSearcher类用于查询特定类型的设备&#xff0c;ManagementObjec…

转行做“程序员”很难?这里有几个建议...

“是什么&#xff1f;为什么&#xff1f;怎么样&#xff1f;”的灵魂三连问在我们生活中比比皆是&#xff0c;目的是为了清晰思考和看到事物的本质。对于编程学习也是一样&#xff0c;需要带着疑问从本质上去学习编。 本人是某985高校的本硕连读&#xff0c;非计算机科班出身&…

利器 | AppCrawler 自动遍历测试实践(三):动手实操与常见问题汇总

1080469 14.7 KB 上两篇文章介绍了自动遍历的测试需求、工具选择和 AppCrawler 的环境安装、启动及配置文件字段基本含义&#xff0c;这里将以实际案例更加细致的说明配置文件的用法和一些特殊场景的处理。 下面我们继续之前的例子&#xff0c;在雪球搜索框输入搜索内容后的页面…

CloudFlare系列--功能介绍与常用配置

原文网址&#xff1a;CloudFlare系列--功能与特性的介绍_IT利刃出鞘的博客-CSDN博客 简介 本文介绍CloudFlare的功能与常用的配置。 功能介绍 CloudFlare是世界最强的网络服务商。它可以提供如下服务&#xff1a; 防御DDoS攻击 世界最强防御DDos攻击的厂商。域名注册 世界最…

JavaWeb语法四:多线程案例

目录 1.单例模式 1.1&#xff1a;饿汉模式 1.2&#xff1a;懒汉模式 2.阻塞式队列 2.1:生产者消费者模型 2.2&#xff1a;阻塞队列的模拟实现 3.线程池 3.1&#xff1a;标准库中的线程池 3.2&#xff1a;模拟实现线程池 前言&#xff1a;前一篇我们讲了线程不安全的原因…

SAP UI5 里 FlexBox 的使用方法

ScrollContainer 的使用方式&#xff1a; ScrollContainer 是一个控件&#xff0c;可以在有限的屏幕区域内显示任意内容&#xff0c;并提供滚动以使所有内容都可访问。注意&#xff0c;为了避免影响用户使用体验&#xff0c;不要嵌套沿相同方向滚动的滚动区域。例如&#xff…

【LaTex】基础语法框架快速入门教程——Tex live+TexStudio简要安装及使用教程

0. 引言 LaTeX对于论文排版有着巨大的便利&#xff0c;并且对于参考文献的引用也十分方便&#xff0c;不会出现使用word引用参考文献一旦更改文献引用顺序&#xff0c;就必须全部改编号的情况。这里记录一下如何从0开始学习使用LaTeX书写论文。 1. 软件安装&环境配置 1.…

Qt中实例化一个函数变量时加不加括号的区别,以及括号中的this的使用

一、设计一个测试小程序 废话不多说&#xff0c;直接上代码。 main.h函数就不多说了&#xff0c;没改动。直接上mainwindow.h&#xff0c;也没改动。看mainwindow.cpp的内容。 #include "mainwindow.h" #include "ui_mainwindow.h" #include "test.…

机器学习算法基础——KNN算法

KNN (K-Nearest Neighbor)–K近邻分类算法 • 为了判断未知实例的类别&#xff0c;以所有已知类别的实例作为参照选择参数K • 计算未知实例与所有已知实例的距离 • 选择最近K个已知实例 • 根据少数服从多数的投票法则(majority-voting)&#xff0c;让未知实例归类为K个最邻…

Zerobot僵尸网络出现了新的漏洞利用和功能

©网络研究院 Zerobot DDoS僵尸网络已经获得了重大更新&#xff0c;扩展了其针对更多互联网连接设备和扩展网络的能力。 微软威胁情报中心 (MSTIC)正在以DEV-1061的名称跟踪持续的威胁&#xff0c;名称为未知、新兴或发展中的活动群集。 本月早些时候&#xff0c;Fort…

2022年山东省职业院校技能大赛中职组“网络安全”赛项规程

2022年山东省职业院校技能大赛中职组“网络安全”赛项规程一、赛项名称赛项名称&#xff1a;网络安全英文名称&#xff1a;Cyber Security赛项组别&#xff1a;中职组赛项类别:电子与信息类二、竞赛目的网络空间已经成为陆、海、空、天之后的第五大主权领域空间&#xff0c;习总…

SpringCloud 网关组件 Zuul-1.0 原理深度解析

为什么要使用网关&#xff1f; 在当下流行的微服务架构中&#xff0c;面对多端应用时我们往往会做前后端分离&#xff1a;如前端分成 APP 端、网页端、小程序端等&#xff0c;使用 Vue 等流行的前端框架交给前端团队负责实现&#xff1b;后端拆分成若干微服务&#xff0c;分别…

k8s使用glusterfs(静态供给、动态供给)、glusterfs的安装与使用

目录前言主机准备配置主机名、关闭防火墙、关闭selinux挂载磁盘安装glusterfs服务端glusterfs的端口分布式集群的结构组成glusterfs集群创建存储卷启动卷k8s使用glusterfs作为后端存储&#xff08;静态供给glusterfs存储&#xff09;恢复初始化环境安装Heketi 服务&#xff08;…

如何快速读懂开源代码?

文章目录**RUN起来****调试****把控关键数据结构和函数****从小的开始****关注一个模块****工具****一、阅读开源代码存在的一些误区**二、阅读代码的心态**三、阅读源码与**辅助材料**四、如何阅读开源代码****《gdb 高级调试实战教程》电子书下载链接&#xff1a;**1 下载 Ng…

ASP.NET开源版MES加工装配模拟系统源码/WinForm工厂加工装配系统源码/流程工序管理

一、源码描述 本系统用户大学机械科上位机加工装配模拟实验&#xff0c;目前正常用于实验当中。环境&#xff1a;VS2010(C# .NET4.0,多层结构)、sqlserver2008 r2 &#xff1b;Winform;使用到RFID读写器&#xff08;设备是可以变更的&#xff0c;修改RFID.Library项目的…

Mycat2(一)简介、分库分表概念

文章目录mycat是什么&#xff1b;为什么要用&#xff1b;mycat的作用原理分库分表的意义数据库优化的层次&#xff1a;数据切分的方式&#xff0c;带来的问题和解决方案分库分表带来的问题mycat的特性与详细配置含义mycat2与mycat1.6区别mycat2映射模型多数据源解决方案mycat核…