在 excel 中提取字符前后的文本
在 Excel 中,您可以编写公式来提取特定字符之后或之前的文本。在本教程中,我们将学习如何编写这些公式。
提取一个字符后的文本
在这个公式中我们需要使用 TRIM、RIGHT、SUBSTITUTE、REPT 和 LEN。而在下面的例子中,我们有两个单词值在值和中间的字符。
=TRIM(RIGHT(SUBSTITUTE(A1,B1,REPT(" ",LEN(A1))),LEN(A1))) =TRIM(RIGHT(SUBSTITUTE(original_text,character,REPT(" ",LEN(original_text))),LEN(original_text)))
要理解这个公式,需要将其分为几个部分:
在第一部分中,我们有SUBSTITUTE(A1,B1,REPT(" ",LEN(A1)))
。这是将 (,) 字符替换为与字符长度相等的空格数的公式的一部分。
您可以看到“Excel Advisor”之间有一个空格而不是逗号。
在第二部分中, =TRIM(RIGHT("Excel Advisor",LEN(A1)))
从文本右侧提取文本,然后修剪它以删除多余的空格。
不同的角色实例?
在处理数据时,您可能有角色的多个实例,上面的公式可能无法帮助您处理这个问题。在这种情况下,您必须使用下面的公式。
=IF(LEN(A1)-LEN(SUBSTITUTE(A1,B1,""))<=1,"",MID(SUBSTITUTE(A1,B1,"^^",C1),FIND("^^",SUBSTITUTE(A1,B1,"^^",C1))+2,LEN(A1)))
使用此公式,您需要指定要提取文本的字符,然后从该字符的实例开始。
上面的公式很复杂,但效果却很神奇。此公式的代码是 SUBSTITUTE 函数,它可以帮助您获取字符的第二个或第 N 个瞬间,然后您可以用“^^”替换该瞬间,这进一步有助于提取文本。
但您也可以使用新的 TEXTAFTER 函数 (OFFICE 365),该函数具有在字符后获取文本的所有选项,而无需输入如上所述的复杂公式。
您必须在函数中指定字符和实例。
提取字符前的文本
您可以使用下面的公式来获取字符之前的文本。
这是我们用来获取字符后文本的精确公式。您应该使用 LEFT,而不是使用 RIGHT。获取左(前)文本。
=TRIM(LEFT(SUBSTITUTE(A2,B2,REPT(" ",LEN(A2))),LEN(A2)))
这个公式的作用与这个公式完全一样。请参考它以使其易于理解。
不同的角色实例
有两种方法可以获取字符之前(或之后)的文本。
=IF(LEN(A2)-LEN(SUBSTITUTE(A2,B2,""))<=1,"",LEFT(SUBSTITUTE(A2,B2,"^^",C2),FIND("^^",SUBSTITUTE(A2,B2,"^^",C2))-1))
可以在任何版本的Excel中使用;您可以指定字符和实例来获取文本。
但如果您使用的是 Excel (Office 365),则不需要使用这个复杂的公式。相反,您可以使用 TEXTBEFORE 函数。