欢迎转发和点一下“在看”,文末留言互动!
置顶公众号或设为星标及时接收更新不迷路
小伙伴们好,今天带给大家的是一道简单的文本题目。题目非常简单,所涉及到的函数都是我们日常常用的小函数。题目如下:
题目要求我们按照性别给A列中的姓名更换称谓。这个过程非常简单,唯一需要考虑的就是如何处理复姓的问题。
01
解题的关键是如何处理复姓
在单元格E2中输入下列公式,并向下拖曳即可。
=LEFT(A2,IF(OR(1-ISERR(FIND({"欧阳","西门"},A2))),2,1))&IF(B2="女","女士","先生")
这条公式分为两部分。第一部分提取姓氏,第二部分按性别添加称谓后缀。但如何提取姓氏,需要稍微考虑一下。
FIND({"欧阳","西门"},A2)
首先我们在目标单元格中查找是否存在“欧阳”和“西门”这两个复姓。如果存在,就返回一个具体的数字,否则就返回错误值。
以单元格A2为例,这部分的结果是{#VALUE!,#VALUE!}。
ISERR(FIND({"欧阳","西门"},A2))
利用ISERR函数将错误值转换为TRUE,将数字转换为FALSE。这部分的结果是{TRUE,TRUE}。
1-ISERR(FIND({"欧阳","西门"},A2))
我们希望当FIND函数找不到复姓时返回FALSE,因此用1减去ISERR。这部分的结果是{0,0}。
OR(1-ISERR(FIND({"欧阳","西门"},A2)))
利用OR函数返回逻辑值FALSE,表明在单元格A2中没有找到任何复姓。
根据OR函数的特点我们可知,当找到任意一个复姓时,OR函数将会返回TRUE。
这里我们可以使用AND函数来替代OR函数。当使用AND函数时,可以省略1-ISERR这个步骤了。
IF(OR(1-ISERR(FIND({"欧阳","西门"},A2))),2,1)
利用IF函数根据OR函数的结果来返回数字“1”或者“2”。
LEFT(A2,IF(OR(1-ISERR(FIND({"欧阳","西门"},A2))),2,1))
接下来利用LEFT函数提取姓氏。
IF(B2="女","女士","先生")
而这一部分则是根据性别来添加称谓后缀。
LEFT(A2,IF(OR(1-ISERR(FIND({"欧阳","西门"},A2))),2,1))&IF(B2="女","女士","先生")
最后两部分合在一起就可以了。
本期内容练习文件提取方式:
链接: https://pan.baidu.com/s/1oyl2X2nhjNMQUv4Asxv36g?pwd=g8u4
提取码: g8u4
-END-
长按下方二维码关注EXCEL应用之家
面对EXCEL操作问题时不再迷茫无助
我就知道你“在看”