2015-01-06 115 views
0

所以我想從Excel中提取一些文本,有成千上萬的數據,所以我認爲如果有一種快速的方法來做事情會很酷。無論如何,這是怎麼回事:從Excel單元格中提取單詞的限制

單元格A1有:(RI-650; RJ-7500; KM-1000; TL-650;)< - 4個變量(RI-650,RJ-7500,KM-1000 ,以及TL-650)

雖然細胞A2具有:(RI-650; RJ-11875; KM-1000; RB-5000; TL-650;)<-5變量,加上上述例子的RB-5000 。

我可以在B1,C1,D1,E1等等中填入每個變量嗎? B列中的示例我得到RI-xxx和C列我得到RJ-xxx,依此類推?我嘗試了左,右,中,和一些中頻,但卡住了。

對此有何看法?

+1

查看Data選項卡中的Text to Columns功能。 –

+0

你只是試圖分裂內容或試圖讓所有的「TL」進入相同的列? – pnuts

+1

@pnuts我試圖分割內容 –

回答

1

如果確有括號bookending值使用查找&替換按Ctrl + H^),以擺脫他們。

當打開和關閉括號被刪除(如果它們實際存在),選擇列A的全部,然後選擇Data►Data Tools►Text to Columns。在嚮導的第一個屏幕上選擇分隔符並單擊下一步。在嚮導的第二個屏幕上,在分號旁邊打勾並清除其他所有內容。點擊完成

如果您打算保留A列中的值,請將它們複製並粘貼到B列中,然後調整上述方法將它們分開。

+1

雖然我認爲Q在發佈A時是模棱兩可的,但我對後續「澄清」的理解是,這確實是所有必需的。 – pnuts

+1

@pnuts - *有成千上萬的數據*告訴我這是最可行的解決方案。至少2K行和未知數量的「變量」分開,T2C是理想的。如果這是一個重複的任務,一個快速的VBA Sub可以簡化它的工作,而不會在不整齊的邊緣輸出中留下非空白的空字符串。 – Jeeped

+0

@Jeeped像魔術般的作品,謝謝! (fyi,它是2K列,哈哈) –

2

這個公式將做你正在尋找的東西,假設你的變量被「;」分開。如果他們被另一個角色或空間隔開,那麼只需將「;」替換爲該角色或空間。不要忘記更改變量以使用您創建的每個新列搜索。就在列的每個變量拷貝下來:

編輯:更新公式現在可以跨越假設變量名將此公式複製是B1,C1,D1,等在我的照片給我的例子。(更多萬能公式)

=IF(FIND(B$1, $A2)>0, MID($A2, FIND(B$1, $A2), FIND(";", $A2, FIND(B$1,$A2))-FIND(B$1, $A2)), "Nothing") 

ScreenCap

+1

不錯的解決方案!如果我可以選擇多個答案,我肯定會選擇這個! –

+1

@AbieGiordano您可以隨時爲您喜歡或感興趣的解決方案進行投票(包括您接受的解決方案) – Chrismas007

-1

一種解決方法是使用查找功能解析你的條件,然後使用MID函數生成子

方法如下:使用包含(RI-650; RJ-7500; KM-1000; TL-650;) 的Cell A1,可以使用 來計算中斷點Cell F 1至J1作爲

| 1 | = FIND(「;」,$ A1,F1 + 1)| = FIND(「;」,$ A1,G1 + 1)| = FIND(「;」,$ A1,H1 + 1)| = FIND( 「;」,$ A1,I1 + 1)

步驟2:設置單元B1至E1作爲

| = MID($ A1,F1 + 1,G1-F1-1)| = MID($ A1,G1 + 1,H1-G1-1)| = MID($ A1,H1 + 1,I1-H1-1)| = MID($ A1,I1 + 1,J1-I1-1)

NOTES:

  1. 的公式可以寫成一次並複製的權利。
  2. 如果需要,可以隱藏FIND值。
+0

這並不能解決他的問題,即每個字符串中有不同的變量,並根據變量需要不同的列。 – Chrismas007

+1

Thx。你的權利......我沒有正確地閱讀這個問題。我認爲這只是一個簡單的解析問題。 –

+0

我不確定的要求,問,據我所知它被告知它*是一個簡單的解析問題。 – pnuts

相關問題