专栏首页完美ExcelExcel公式练习72: 提取大写字母创建缩写

Excel公式练习72: 提取大写字母创建缩写

学习Excel技术,关注微信公众号:

excelperfect

导语:本次的练习整理自myspreadsheetlab.com,可以很好的帮助我们练练手!

本次的练习是:如下图1所示,使用公式,提取列A每个单元格数据中的大写字母。

图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(A1:INDEX(A:A,LEN(A5))),1))<91,CODE(MID(A5,ROW(A

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

本文分享自微信公众号 - 完美Excel(excelperfect),作者:fanjy

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-07-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Excel公式技巧15: 探讨强制返回数组的公式技术

    有时候,我们希望将公式应用于一组值而不是一个值,这可以简单地将公式作为数组公式(按Ctrl+Shift+Enter键)来实现。然而,并不是所有公式都能如此轻松地...

    fanjy
  • Excel实用公式6:求每隔n行中的单元格之和

    很多时候,我们都可能想要对每隔n行中的单元格求和,其中n是一个整数。如下图1所示,每隔1行求和、每隔2行求和、每隔3行求和,等等。

    fanjy
  • Excel实用工具15:动态XY散点图绘制工具

    在做风险分析时,可以将数据划分到坐标轴的4个象限中使信息可视化,从而比较不同方案的风险级别。在Excel中,可以使用XY散点图来实现,XY散点图是应对此种情况的...

    fanjy
  • 终于找全了:蝴蝶效应、青蛙现象、鳄鱼法则、鲇鱼效应、羊群效应、刺猬法则、手表定律、破窗理论、二八定律、木桶理论

    1、蝴蝶效应: 上个世纪70年代,美国一个名叫洛伦兹的气象学家在解释空气系统理论时说,亚马逊雨林一只蝴蝶翅膀偶尔振动,也许两周后就会引起美国得克萨斯州的一场龙卷...

    小莹莹
  • 共享单车困兽之斗:大数据或成破解之法

    孟永辉
  • Nginx实战操作-反向代理

    反向代理的核心是不想将我们内部的服务直接暴露给客户端。 Nginx可以作为我们反向代理服务器使用,具体怎么操作呢? 其实nginx反向代理的指令不需要新...

    用户4919348
  • GDPR 带来的数据安全思考

    盖国强 中国地区首位Oracle ACE和ACE总监,曾获评"中国首届杰出数据库工程师",拥有近20年数据行业咨询和实践经验,著有《深入解析Oracle》《循序...

    用户1682855
  • 基于深度学习和多源大数据的浮动共享单车流量预测(附共享单车轨迹数据集下载方式)

    《Short-term FFBS demand prediction with multi-source data in a hybrid deep learn...

    深度学习与交通大数据
  • 神器Jupyter Notebook如何适应数据科学的发展方向

    这是关于Jupyter Notebook生态系统的三篇博文的第一篇。这篇文章将讨论数据科学的前景,以及推动我们的工具发展的力量。

    HuangWeiAI
  • 使用SecureCRT的按钮实现快速查询

    背景:有这么个日常运维场景,客户因管理需求,不允许在服务器上部署任何自动化的脚本,需要人工登录到机器上查询ASM磁盘组的使用率情况,有上百套环境。

    Alfred Zhao

扫码关注云+社区

领取腾讯云代金券