excel中如何轉換數據?



對本題而言,樓上的答案是最優的,操作簡便。

擴展一下,如果題主的源數據更複雜,或者規律沒這麼強,可以善用文本函數來處理。

比如,源數據是 SC7164BE31ASA8,假設需要分列的各列數據長度是固定的,那麼:

SC7164B的數據可以由 =LEFT(A1,7) 取出來,意思是取目標單元格的前7位字元

E31的數據可以由 =MID(A1,8,10)取出來,意思是取目標單元格的從左邊起第8-10位字元

SA8的數據可以由 =RIGHT(A1,3)取出來,意思是取目標單元格的後3位字元

按這幾個公式,在數據長度固定的情況下,應該可以處理很多數據更複雜,規律性更弱的情況。


為何一定要上圖才放過人=。=

函數功能解析:

(1)SUBSTITUTE函數:

①函數功能:將某字元串中在指定位置出現的指定字元替換成自定義的字元。

②語法:SUBSTITUTE(text,old_text,new_text,instance_num)

text 是需要替換其中字元的文本,或是含有文本的單元格引用;

old_text 是需要替換的舊文本;

new_text 用於替換old_text 的文本;

instance_num 為一數值,用來指定以new_text 替換第幾次出現的old_text;如果指定了instance_num,則只有滿足要求的old_text 被替換;否則將用new_text 替換Text 中出現的所有old_text。

(2)FIND函數

①函數功能:查找指定字元在字元串中出現的位置。

②語法: FINDB(find_text,within_text,start_num)

Find_text 是要查找的文本。

Within_text 是包含要查找文本的文本。

Start_num 指定開始進行查找的字元。within_text 中的首字元是編號為 1 的字元。

如果忽略 start_num,則假設其為 1。

我把我要的"."替換成"!",然後用find查詢所在的位置。B4可以擴展成任意段字元串取出。


恩~ @zecy的答案已經很好很詳細了。

@王石 的擴展已經可以解決大多數問題了~

恩,作為excel死宅繼續擴展

按 @王石 的繼續擴展:

假設源數據在A1,並且如果不知道分隔源數據的小數點.在第幾位的話,怎麼辦?

以為這就完了?

你們是小看了excel死宅鑽牛角尖的程度了!

你們啊,真是too young

假設如果不知道分隔數據的小數點.有多少個怎麼辦?

恩,小問題,難不倒職業死宅。

蛤蛤蛤~

又有人問了~

「職業死宅,如果我不知道源數據是用小數點.還是逗號,分隔的怎麼辦啊??」

……

「咳咳,這個問題啊,那個~就是這個問題啊,就是逗號啊~哈哈哈~恩,職業死宅來給你們上一課!

excel只是一個工具而已,不是一個靈丹妙藥,很多時候,是需要人為控制的,追求一勞永逸的人要不就死翹翹,要不就會

……

……

……

變成我這樣的職業死宅!!!!

這個問題就是=if(iserror(find(「.",a3)),我剛才那個公式,把剛才我那個公式的.改成,就好)

」職業死宅,如果我不知道到底用什麼符號分隔的怎麼辦啊!「

」……去罵給你源數據的人!這都不交代你!怎麼做工作的!「

」職業死宅,我罵不過他……「

」這位同學,你給我出去!就醬!「

OK,寫完了 @孟德爾,來點贊吧!


推薦閱讀:

我在excel某格子里輸入一個公式,設置一個變數,以後只輸入變數就好了?
Excel怎麼篩選出特定的格式數據,例如:篩選出有縮進格式的數據?
excel 如何篩選一列中的特定序列的數組?
Excel遇到困難,求大神啊。?
vlookup為什麼這樣寫不對?

TAG:MicrosoftExcel | Excel使用 |