2016-04-30 185 views
0

使用MS Excel 2010:我使用CONCATENATE公式創建了看起來像公式的文本字符串,並且需要一個將文本字符串轉換爲公式的公式;不使用MS Excel粘貼特殊功能或VBA /宏。將文字文本轉換爲公式

示例:在細胞B2:G2包含文本,在細胞B4我有串聯文本式返回一個文本串

=TRIM(CONCATENATE(B2&" "&C2&" "&D2&" "&E2&" "&F2&" "&G2&" "&H2)) 

我希望Excel解釋此字符串作爲式並返回/顯示值在單元格B6爲:「始終是你自己......不出去尋找一個成功的性格和複製它。」 - 李小龍

enter image description here

我已經使用INDIRECT公式,沒有成功,沒有嘗試某些如果它是我的公式或者可能的話。樣品:細胞B6:

=INDIRECT(CONCATENATE("B4")) 
+0

a)您沒有正確使用[CONCATENATE功能](https://support.office.com/en-gb/article/concatenate-function-870e82a1-d47d-440e-9a77-23e7639eda1d)。 b)我不認爲[間接功能](https://support.office.com/en-us/article/indirect-function-21f8bcfc-b174-4a50-9dc6-4dfb5b3361cd)會做你所問的的。 – Jeeped

+0

@Jeeped是對的。因爲(B2&「」&C2&「」&D2&「」&E2&「」&F2&「」&G2&「」&H2)allready是一個連接字符串,所以您不會連接任何事物。這是正確的方式:CONCATENATE和「&」是相同的,即:「CONCATENATE」(B2,「」,C2,「」,D2,「」,E2,「」,F2,「」,G2,「」,H2) –

+0

事情。你做一個或另一個。你所做的,首先使用&將所有文本合併,然後要求連接函數將單個字符串合併爲一個字符串。 –

回答

0

爲什麼不這樣做呢?

地說:

=TRIM(CONCATENATE(B2&" "&C2&" "&D2&" "&E2&" "&F2&" "&G2&" "&H2)) 

格B6和

=FORMULATEXT(B6) 
在小區B4

+0

我很抱歉,我意外地沒有提供位於單元格B4中的正確文本字符串,這裏是實際的公式文本:= CONCATENATE(「= TRIM(CONCATENATE(B2&」「&C2&」「&D2&」「&E2&」「&F2&」「&G2& 「&H2))」),我需要或希望轉換爲一個實際的公式,輸出結果在單元格B6 ...希望這會有所幫助 – Miaka3

+0

恐怕這不是一個有效的公式... –

2

1)CONCATENATE和&是一樣的東西。換句話說,你寫一個字符串的公式可以翻譯爲:

=TRIM(CONCATENATE(CONCATENATE(CONCATENATE(CONCATENATE(CONCATENATE(CONCATENATE(CONCATENATE(CONCATENATE(CONCATENATE(CONCATENATE(CONCATENATE(CONCATENATE(CONCATENATE(B2)," "),C2)," "),D2)," "),E2)," "),F2)," "),G2)," "),H2)) 

如果你打算寫出來CONCATENATE爲你工作,然後分開你想要連接在一起成爲一個昏迷由於一直他絃樂器在評論你的問題指出了@MarcoVos:

=CONCATENATE(B2," ",C2," ",D2," ",E2," ",F2," ",G2," ",H2) 

或者,如果你想使用的&較常見的一種公式將是什麼樣子,你不CONCATENATE最初發布從這樣的:

=B2&" "&C2&" "&D2&" "&E2&" "&F2&" "&G2&" "&H2 

最後兩個公式會產生相同的結果。

2)INDIRECT函數將文本轉換爲單元格引用或地址。它不會將公式轉換爲文本並吐出公式的結果。在他的答案中的宏Vos是正確的,因爲FORMULATEXT()將在引用的單元格中顯示公式作爲文本或字符串。如果您需要遵循提供字符串的順序,然後必須將字符串轉換爲公式,那麼我建議您使用EVALUATE函數。不過,您不能使用常規Excel公式中的EVALUATE。不過,您可以從命名範圍調用它。創建一個命名範圍。讓我們舉例來說它是EvalText。在創建命名範圍的公式部分中,輸入:

=EVALUATE($B$4) 

它會自動添加工作表名稱。現在在表單上的任意單元格中,您可以輸入:

=EvalText 

它將返回任何B4中的字符串作爲公式。如果它不是一個合適的excel公式,它會吐出一個錯誤。

+0

有一點需要注意因爲我注意到名稱範圍內的EVALUATE()不是自動計算。它不會隨着文本更改而自動更新。必須進入單元格並按F2 Enter鍵更新值。 – Rosetta

+0

但不錯的想法,我喜歡解決方案 – Rosetta

+0

實際上它應該自動更新,如果您的工作表設置爲自動更新。 –