工作中常遇到要截取某单元格中指定内容的字符,并且此字符要求是第N次出现的。通常我们使用MID函数截取相应位置的字符,但是如何确定该字符的第N次出现的位置呢?
那么可以用下面的公式确定:
=FIND("@",SUBSTITUTE(A1,"\","@",3))
如下图B1单元格中的公式所示,得到反斜杠"\"第三次出现的位置是19:

上述公式,主要用SUBSTITUTE(A1, "\", "@", 3) 将A1单元格第三次出现的反斜杠"\"替换为"@"(可以用其他不常用的字符,方便FIND函数查找到即可)。
参数“3" ,是指第三次出现的反斜杠"\",各人实际工作需要而定。
SUBSTITUTE 函数详解
说明
在文本字符串中用 new_text 替换 old_text。
如果需要在某一文本字符串中替换指定的文本,请使用函数 SUBSTITUTE;
如果需要在某一文本字符串中替换特定位置处的任意文本,请使用函数 REPLACE。
语法
SUBSTITUTE(text, old_text, new_text, [instance_num])
SUBSTITUTE 函数语法具有下列参数 (参数:为操作、事件、方法、属性、函数或过程提供信息的值。):
text 必需。 需要替换其中字符的文本,或对含有文本(需要替换其中字符)的单元格的引用。
old_text 必需。 需要替换的文本。new_text 必需。 用于替换 old_text 的文本。
Instance_num 可选。 指定要用 new_text 替换 old_text 的事件。 如果指定了
instance_num,则只有满足要求的 old_text 被替换。 否则,文本中出现的所有 old_text 都会更改为 new_text。