PHONETIC(音读:方体克)函数,我们抛开他的基本语法不说,来说说在当前论坛上的流行功能。对于众多的Excel函数迷来讲,PHONETIC是具有连接功能的函数,我们来看看方兄的自传小说。
第一回、小试身手
H1单元格书写公式:
=PHONETIC(A1:G1)
我们观察到,结果就是把A1:G1单元格的内容连接在一起。但是,还没完,我们再细细的观察下,C1的#N/A与E1的666都不在合并的结果内呀。
经过多次测试,我们发现方兄(PHONETIC)是很挑食的,他只看到了文本字符,包括中文、英文、标点等。对于错误值和数字视而不见。
第二回、功夫升级
不得已间,我们要质疑下方兄:“你不是不近女色,看不到数字嘛?!为什么你又把999纳入到你的房内?”
方兄:“999她男扮女装,穿了个文本的外衣,这样我就愿意把她当做男人看,你能把我怎地?”
我:“……”
好吧,至此我们掌握了方兄的脾气,纯数字他才假装不看,如果装扮成文本他则照单全收。
第三回、脾气大涨
这个里面A5单元格输入公式:=A3,然后向右拖动到G5单元格。
忍不住抓过来方兄,痛斥:“你给我解释,这是为什么?我这里面的数据与第3行一致,凭什么不给组装到一起?!”
方兄不紧不慢的推开我的手:“你仔细看看,他们是真正的我要的人吗?都是做过整容手术,用函数公式给变了本真面目的,你以为我看不出来?”
我:“……”
方兄的脾气惹不起,只能顺他的意,不用他来连接公式罢了。
第四回、关系缓和
有点抓狂:“方兄,你为什么说话不算话!同样是公式,这里你怎么就给处理了?!”
方兄:“熬兄(OFFSET)和我关系不错,他自己得到的结果其实并不是常见的数组(方兄的敌人),而只是在表格中画了一片区域给我看,我顺手就帮他处理些事情喽。”
我:“……”
原来,方兄并不是不待见函数公式,而是要求公式不要得到“值”,而只是画出来“一片区域”,其他与方兄关系不错的还有INDIRECT,以及有时候和INDEX关系也还过得去。
第五回、迷踪身法
方兄:“聊了这么久,给你展示下我的武功吧,把每个部门的员工连接在一起,然后逗号分割下。”
=MID(SUBSTITUTE(PHONETIC(OFFSET($A$1,MATCH(D2,A:A,)-1,0,COUNTIF(A:A,D2),2)),D2,","),2,99)
我们来慢慢解读下:
首先是OFFSET($A$1,MATCH(D2,A:A,)-1,0,COUNTIF(A:A,D2),2)
其中MATCH部分是查找到“魏国”在A列的起始位置为2,然后-1就把A1这个起始点便宜到A2格。之后通过COUNTIF来统计出来A列的“魏国”人数4。
于是通过OFFSET,就可以向下扩展4行,得到A2:A5区域。最后的数字2是向右扩展2列,即得到A2:B5数据区域。
PHONETIC(A2:B5):把这片区域全都组装在一起,得到"魏国曹操魏国司马懿魏国荀彧魏国许褚"。
SUBSTITUTE("魏国曹操魏国司马懿魏国荀彧魏国许褚",D2,","):把这个字符串中的所有“魏国”全部都替换为逗号,于是得到结果:",曹操,司马懿,荀彧,许褚",基本上得到最终结果。
MID(",曹操,司马懿,荀彧,许褚",2,99):最后的MID从第2位开始取值,屏蔽掉了开头的逗号,便得到了最终的结果。
第六回、独门暗器
方兄:“这些年,我被大家误解,现在说来算是堵门暗器,其实这才是我当初生出来的原由:提取文本字符串中的拼音字符。我来给你展示下。在Word中可以方便的标注拼音,不用手动输入。然后把这些东西粘贴到Excel中。”
“在B1格写下:=PHONETIC(A1),来看看结果吧。”
“这些年,我伪装了自己,其实,我的心里一直不能忘记她,我的拼音。”方兄眼圈湿润着。
第七回、整理运动
作者言:在Excel里面,文本的连接一直是一个难点。
2009年前后,某位大神发现了PHONETIC的连接作用,至此算是解决了一部分难点。
然而PHONETIC限制条件苛刻,并不能作为很好的一个桥梁。我们可以在有限的条件下运用他的有点即可。在最新的OFFICE365版本中,出现了新的函数TEXTJOIN,可以解决文本连接;在论坛上流传着VBA自定义函数CONTXT来解决文本连接,但都不是完美的方法。
这也许就是Excel的缺憾美。
第八回、昆仑山上
辅助列大侠在悠哉的喝着茶,VBA大侠在闭目养神。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。