体验零代码搭建

excel函数提取大写字母创建缩写

网友投稿  ·  2023-11-27 13:11  ·  在线excel  ·  阅读 801


Excel是许多职场人士常用的烦恼之源,学习相关技巧需耗费大量时间。简道云作为一款办公神器,能很好地替代Excel。它是一个在线表单和数据管理工具,支持PC端和手机微信浏览器操作。除此之外,简道云还能辅助企业进行流程审批、财务报销、人事管理等业务管理,满足不同需求。

excel函数提取大写字母创建缩写,如下图1所示,使用公式,提取列A每个单元格数据中的大写字母。

excel函数提取大写字母创建缩写,如下图1所示,使用公式,提取列A每个单元格数据中的大写字母。

excel函数提取大写字母创建缩写

图1

满足以下条件:

只提取大写字母

每个单词以大写字母开始

每个单词仅有一个大写字母

单元格中的数据文本可能包含空格,也可能没有空格

单元格中的数据文本只包含字母和空格

单元格中的数据文本可包含任意类型的字符

大写字母中没有重音符号

数据所在的工作表名为“x”(仅1个字符)

结果长度必须等于大写字母的数量

公式要最短

先不看答案,自已动手试一试。

解决方案

首先,提取每一字符,使用CODE函数将其转换成对应的数字,如果数字大于等于65且小于等于90,将该数字再转换成对应的字母,将大写字母连在一起。

公式中,MID(x!A5,ROW(INDIRECT(“1:”&LEN(x!A5))),1)用于提取单个字符,也可以使用MID(A5,ROW(A$1:INDEX(A:A,LEN(A5))),1),但前者更短。CODE函数将字符转换成相应的数字,注意大写字母编码从65至90。IF函数将忽略我们不想要的编码。CHAR函数将数字转换成字母。CONCAT函数将提取到的大写字母连接。

公式1

=SUBSTITUTE(CONCAT(CHAR(IF((CODE(MID(A5,ROW(INDIRECT(“1:”&LEN(A5))),1))>64)*(CODE(MID(A5,ROW(INDIRECT(“1:”&LEN(A5))),1))<91),CODE(MID(A5,ROW(INDIRECT(“1:”&LEN(A5))),1)),91))),”[“,””)

公式2

=SUBSTITUTE(CONCAT(IFERROR(CHAR(IF(CODE(MID(A5,ROW(INDIRECT(“1:”&LEN(A5))),1))<91,CODE(MID(A5,ROW(INDIRECT(“1:”&LEN(A5))),1)))),””)),””,””)

公式3

=SUBSTITUTE(CONCAT(IFERROR(CHAR(IF(z<91,z)),””)),””,””)

其中,“z”是一个定义的名称:

名称:z

引用位置:=CODE(MID(x!A5,ROW(INDIRECT(“1:”&LEN(x!A5))),1))

公式4

=SUBSTITUTE(CONCAT(IFERROR(CHAR(IF(AND(z<91,z>64),z)),””)),””,””)

与公式3相同,“z”是一个定义的名称。

公式5

=CONCAT(FILTER(MID(A5,SEQUENCE(LEN(A5)),1),ISNUMBER(MATCH(CODE(MID(A5,SEQUENCE(LEN(A5)),1)),SEQUENCE(24,,65),0))))

公式6

=TEXTJOIN(“”,1,IF(ISNUMBER(MATCH(CODE(MID(A5,ROW(INDIRECT(“1:”&LEN(A5))),1)),ROW(INDIRECT(“65:90”)),0)),MID(A5,ROW(INDIRECT(“1:”&LEN(A5))),1),””))

公式7

=SUBSTITUTE(CONCAT(IFERROR(CHAR(IF(CODE(MID(A5,ROW(A$1:INDEX(A:A,LEN(A5))),1))<91,CODE(MID(A5,ROW(A$1:INDEX(A:A,LEN(A5))),1)))),””)),””,””)

本文只给出了公式的基本运行原理和公式,有兴趣的朋友可以参考本系列前面解的一些方法对公式进行调试,以加深理解。


excel常用函数如何计算车辆停放的时长 << 上一篇
2023-11-27 13:11
excel常用函数求最近的日期
2023-11-27 13:11
下一篇 >>

相关推荐