2014-07-08 165 views
-4

這是我想要在Excel中執行的操作。比較兩個字符串值並返回公共字符串

A1 =你好,我的名字是約翰 B1 =你好,我的名字是喬

C1 =你好,我的名字是

A2 =約翰在哪兒出去明天? B2 =喬明天會去哪裏?

C1 =哪裏是

正如你所看到的,我想比較2個細胞,並返回相同的字符串,直到有差異。 (儘快停止比較變化)

我看過類似的東西here,但它與我的要求略有不同。

在此先感謝。

+1

-1,因爲你還沒有表現出任何努力來解決自己的任務。 – ApplePie

+0

不幸的是,我不是這方面的專家,因此訴諸張貼到這個論壇。其實這是我第一次在線求助:-( – user3817522

回答

1

你應該尋找一種更有效的方式,但這裏有一個在VBA:

Dim stringA As String 
Dim stringB As String 

Dim finalString As String 

Dim currentLetter As Integer 

For currentLetter = 0 To Len(stringA) 
    If Left(stringA, currentLetter) = Left(stringB, currentLetter) Then 
     finalString = Left(stringA, currentLetter) 
     Exit For 
    End If 
Next 

通過你的細胞替換字符串變量,它的完成。

+0

+1謝謝。你的回答讓我朝着正確的方向前進 – user3817522

+0

不應該是這樣:'If Left(stringA,currentLetter)<> Left(stringB,currentLetter )然後'停止一切 –

0

我喜歡挑戰,所以這裏是我想出了一個公式解決方案:

=LEFT(A1,LOOKUP(2,1/(MID(LEFT(A1,MATCH(FALSE,INDEX(MID(A1,ROW($1:$99),1)=MID(B1,ROW($1:$99),1),),0)-1),ROW($1:$99),1)=" "),ROW($1:$99))-1)