您询问如何提取夹在单元格中第一个和第二个最右边逗号之间的文本。
从单元格的左侧开始计算字符的实例很容易。然而,在 Excel 中从右开始计数是出了名的困难。计数越高,难度越大:通常,如果您想找到n
第一个字符实例,您需要输入的工作表公式的长度会呈指数增长,例如4^n
!(如果您想在一个公式中执行此操作。)
您可能想看看我对类似问题的这些早期答案。
这些答案显示了如何从右侧确定字符的第一个实例的位置(然后将整个文本提取到该字符的左侧或右侧)。您不仅需要找到( ) 的第一个实例,还需要找到第二个实例,这样您的公式将比这些答案中的公式长 16 倍。同样,如果您想在一个公式中执行此操作。,
n=2
如果有一个包含中间结果的额外单元格是可以接受的,那么您可以这样做:
在单元格 A6 中:您的地址文本
在单元格 A7 中,我们删除右侧的第一个逗号以及之后的所有文本:
=LEFT(A6,FIND(CHAR(1),
SUBSTITUTE(A6,$A$3,CHAR(1),LEN(A6)-LEN(SUBSTITUTE(A6,$A$3,""))))-1)
在单元格 A8 中,我们只保留下一个最右边逗号之后的文本:
=TRIM(MID(A7,FIND(CHAR(1),
SUBSTITUTE(A7,$A$3,CHAR(1),LEN(A7)-LEN(SUBSTITUTE(A7,$A$3,""))))+1,LEN(A7)))
请注意,我将,
分隔符存储在 cell 中A3
,因此很容易更改。
完毕。结果如下所示:
如果您必须只有 1 个公式并且没有具有中间结果的单元格,则在单元格的公式中A8
,将每个实例替换A7
为LEFT(A6,FIND(CHAR(1), SUBSTITUTE(A6,$A$3,CHAR(1),LEN(A6)-LEN(SUBSTITUTE(A6,$A$3,""))))-1)
。我忘记了Excel中公式长度的限制......