2010-02-12 55 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行,並在這些單元格下的單個單詞。

希望這會有所幫助。

相關問題