2010-02-12 54 views
3

Excel中的字段包含由分号分隔的词语,例如:Excel的文本式,以提取由分号分隔的单词中的一个领域

A1 =保存;所述;国家;宝;对于;良好

如何应用Excel文本公式在其他字段中从该字段生成单独的单词?例如:

A2 should contain a formula to get the first word ("save") 
A3 should contain a (different) formula to get the second word ("the") 
etc. 

然而,即使当A1中的值改变时,这些公式也应该保持良好,例如,如果A1的值更改为

A1 =您好;还有,如何;是;你

这方面的任何帮助,将不胜感激。

(问题是我自己写的一个功能是不允许在这种情况下,我必须使用原来的功能,如findsearchmid等)

回答

1

如果你有你的文字A1解析那么下面的公式应该工作

在A2输入公式

=IF(ISERROR(LEFT(A1,FIND(";",A1)-1)),A1,LEFT(A1,FIND(";",A1)-1)) 

在B2中输入公式

=IF(ISERROR(RIGHT(A1,LEN(A1)-FIND(";",A1))),"",RIGHT(A1,LEN(A1)-FIND(";",A1))) 

然后,您可以尽可能复制这些内容。列A抓取最左边的单词,列B显示要解析的剩余字符串。如果用完的话解析公式会显示一个空白。 B列也可以隐藏。

5

您可以创建一个VBA函数分裂从这个example领域:

Function ExtractElement(str, n, sepChar) 
' Returns the nth element from a string, 
' using a specified separator character 
    Dim x As Variant 
    x = Split(str, sepChar) 
    If n > 0 And n - 1 <= UBound(x) Then 
     ExtractElement = x(n - 1) 
    Else 
     ExtractElement = "" 
    End If 
End Function 

然后A2公式将是:=ExtractElement(A1, 1, ";")和A3将是:=ExtractElement(A1, 2, ";")

+0

如果我需要支持仅高达4个字在A1 和代替使用载体作用,我们可以在不同的领域 使用许多中间公式 是溶液可能 – silverkid 2010-02-12 06:13:09

1

如果您可以使用中间公式,那么这将工作:

A1 - 保存;所述;国家;宝;对于;良好

B1 - 空白

C1 - = IFERROR(FIND(“ ”,$ A1,1 +(B1)),LEN($ A1)+1)

拷贝C1到D1:H1

C2 - = MID($ A1,B1 + 1,(C 1 -C B1)-1)

将C2复制到D2中:H2

行1将在A1中显示每个分号的位置,因为它开始在字符串中查找前一个单元格中找到的分号后的一个字符。

例如,单元格E1从D1 + 1 = 10开始在A1中搜索分号。

C1:H1中的iferror语句会捕获当搜索未找到其他分号并且返回字符串A1的全部长度以及末尾处的假想分号加1时发生的错误。

B1需要空白以创建初始零。 (C1-B1)-1,(d1-c1) - (B1-G1)中的每个B1:G1中的值之后开始一个字符的A1字符串部分。 1等(减去1分割本身的分号)

你应该得到:5,9,18,27,31,36在第1行,并在这些单元格下的单个单词。

希望这会有所帮助。

相关问题