分享

没有高版本函数,看我巧用PHONETIC函数文本合并!

 EXCEL应用之家 2023-08-30 发布于上海


送人玫瑰,手有余香,请将文章分享给更多朋友

动手操作是熟练掌握EXCEL的最快捷途径!

【置顶公众号】或者【设为星标】及时接收更新不迷路



小伙伴们好,今天来和大家分享一下,如何使用低版本函数来合并文本数据。通常来讲,使用低版本函数合并文本数据是一个难点。

原题是这样子的:



这类题目,没有特别好的办法。我们可以考虑使用辅助列的方式。但今天主要要向大家介绍如何使用PHONETIC这个函数来合并文本数据。

即使使用PHONETIC函数,也是有很多限制的:

  1. 它的源数据不能是公式(结果)

  2. 不能合并数子

 下面就一起来看看如何操作吧。


01



在单元格E3中输入公式“=MID(SUBSTITUTE(PHONETIC(OFFSET($A$2:$B$2,MATCH(D3,$A$3:$A$12,),,COUNTIF($A$3:$A$12,D3))),D3,"、"),2,99)”,三键回车并向下拖曳即可。

思路:

  • COUNTIF($A$3:$A$12,D3)部分,计算源数据中有多少个当前行条件,作为OFFSET函数的第四个参数

  • MATCH(D3,$A$3:$A$12,)部分,确定当前行的条件在源数据中第一个位置

  • OFFSET函数数据偏移

  • PHONETIC函数对偏移后的结果合并,结果为"Aa1Aa2Aa3"

  • 利用SUBSTITUTE函数将“A”替换为“、”,并再利用MID函数从第二个位置开始截取字符串


02

这个办法和上面的那个逻辑上是一样的,只不过利用的INDIRECT函数来替代OFFSET函数。



在单元格E3中输入公式“=MID(SUBSTITUTE(PHONETIC(INDIRECT("r"&MATCH(D3,A$1:A$13,)&"c1:r"&LOOKUP(D3,$A$3:$A$12,ROW($3:$13))&"c2",)),D3,"、"),2,99)”,三键回车并向下拖曳即可。

思路:

  • 这里利用了INDIRECT函数“R1C1”的表达方式

  • MATCH(D3,A$1:A$13,)部分,确定当前条件的起始行

  • C1表示第一列

  • LOOKUP(D3,$A$3:$A$12,ROW($3:$13))部分,利用LOOKUP函数的二分法,确定当前条件的最后一行的位置

  • C2表示第二列

  • INDIRECT函数的最终结果是{"A","a1";"A","a2";"A","a3"}。注意,使用“R1C1”的表达方式,INDIRECT函数的第二参数不能省略

  • 其余部分和上面第一个公式是一样的了。

本期内容练习文件提取方式:

链接:https://pan.baidu.com/s/15lo5-EJfp2kaVkDl-lSP6Q?pwd=nd34

提取码:nd34


好了朋友们,今天和大家分享的内容就是这些了!喜欢我的文章请分享、转发、点赞和收藏吧!如有任何问题可以随时私信我哦!

-END-

长按下方二维码关注EXCEL应用之家

面对EXCEL操作问题时不再迷茫无助

我就知道你“在看”

推荐阅读

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多