仅挑选其中的一个公式来解读:
E4的公式为:- =IF(AND(MID($D4,COLUMN(A:A),1)>="阿",MID($D4,COLUMN(A:A),1)<="做"),SUBSTITUTE(D4,MID($D4,COLUMN(A:A),1),),D4)
复制代码 然后向右一直拖动到任意格,本文随机拖动到AN4。
一、MID($D4,COLUMN(A:A),1)
务必注意,这里是固定$D4格,因为要逐一判断原字符串的每一个字符。
用Column(A:A),这样可以实现拖动后,依次生成1、2、3、……的一串数字
二、AND(MID($D4,COLUMN(A:A),1)>="阿",MID($D4,COLUMN(A:A),1)<="做")
文字也是可以比较大小的,“阿”和“做”几乎是汉字中的第一个和最后一个汉字(见新华字典),也可以参考其他帖子使用“吖”和“々”。
这里是为了确定,所提取的字符是否为汉字。
三、SUBSTITUTE(D4,MID($D4,COLUMN(A:A),1),)
这里就是逐一的替换,把原来字符串中的相应的字符,替换为空。注意,Substitute的第一个参数D4,是不固定的,迭代的思想就在这里。
四、IF(AND条件,SUBSTITUTE(D4,MID($D4,COLUMN(A:A),1),),D4)
这里来通过判断逻辑,是把当前单元格左侧的那一个替换为空,还是原封不动的引用左侧那一个单元格。
五、将公式一直向右拖动
这样就形成了“迭代”的最终效果。
|