2014-10-28

Excel的資料剖析功能【上】

文將會介紹Excel的資料剖析功能,作用是按照擬定的規律,將一個(或一堆)儲存格內的數據 / 文字自動拆分到幾個儲存格中;此外,利用Left、Right、Mid、Find函數亦能實現類似功能,本文亦將“買一送一”介紹。
利用資料剖析功能,可以將一個儲存格的數據自動拆分到幾個儲存格

所謂“按照擬定的規律”有兩種,第一種是“分隔符號”,即命令電腦,當遇到某特定字元(如逗號、空格、橫線、指定數字或字母)時,就要“下刀”把儲存格“一分為二”;第二種是“固定寬度”。


以下先通過一則案例,介紹資料剖析功能的操作及應用(“分隔符號”版)。插圖較多,建議在Wifi環境下打開。


※※※※※※※※※※¡流量警告!※※※※※※※※※※



【案例一】

聲明:以下內容純屬虛構。

小明在某旅遊景點管理公司任職打雜文員。每逢月初,小明都會從前線職員處接到售票報告(如下圖),報告列明了每天出售的門票編號,以及售票總數、總收入等等,老闆要求小明將“門票編號”欄中的“大數 - 細數 + 1”,看看是否等於“數量”欄的數字。

老闆的要求並不複雜,用公式還是比較容易檢查的。可是前線的同事不熟悉Excel操作,把“大數”、“細數”都寫在同一儲存格裡了。為了使用公式,小明必須先把“細數”與“大數”拆分到不同儲存格裡。於是,小明立即想到“資料剖析”功能。


【方法一:資料剖析】

首先把“門票編號”欄中的數據copy到空白位置。其中6月1日因為包含了兩組數據(橫跨了兩本門票),為了看上去整齊一些,故將其中一組搬到下面的空格去(其實不搬也可以,照樣能拆開)。

接着把整欄數據框起來,然後“資料(D)”-->“資料剖析(E)”,如圖。

彈出一個“資料剖析精靈”,操作見動畫圖及以下文字:
  • 步驟1之3:選“分隔符號(D)”-->“下一步(N)
  • 步驟2之3:注意勾選“口 其他(O)”,並在旁邊的空格填寫“-”,提示電腦只要遇到“-”符號就要斬開,並留意到“預覽分欄結果(P)”中,所有橫線“-”都消失了,變成一條貫穿的直線。“下一步(N)
  • 步驟3之3:不用理會,直接按“完成(F)”。

結果如下圖,“大數”(I欄)與“細數”(H欄)分家了:

接下來就簡單了:
首先在旁邊的空白欄位輸入公式(“大數” - “細數” + 1),將公式向下拖,得到根據門票編號計得的每日參觀人數(簡稱“數據A”)。

然後又將數據A與“數量”欄的數據(簡稱“數據B”)對比,在旁邊的空白欄位中,輸入公式(“數據A” - “數據B”),減出來不等於0的就可能有問題了(如圖中6月1日的數據)。



※※※※※※※※※※※※※※※※※※※※※※※

【方法二:函數】

由於數據格式比較整齊,要實現“從橫線‘-’處斬開”的效果,也可以組合使用Left、Right、Find三個函數。不過此方式複雜一些,局限性也較大,因此不太推薦。首先介紹一下三個函數的語法:
Left(text,[num_chars])]
Right(text,[num_chars])
Find(find_text,within_text,[start_num])
接下來是功能:
Left:從文字串(text)的第一個字元傳回特定長度(num_chars)之間的所有字元。[num_chars]選填,默認值為1; 
Right:從文字串(text)的最後一個字元傳回特定長度(num_chars)之間的所有字元。[num_chars]選填,點認值為1; 
Find:傳回某文字串(find_text)在另一個文字串(within_text)中的起始位置。Find區分大小寫。
舉個栗子,在“friend”中尋找“end”字串,輸入公式=Find("end","friend"),輸出結果是4,即“end”在單字“friend”中的起始位置是4;又如,在“123456-223456”中尋找橫線“-”的位置,輸入=Find("-","123456-223456"),輸出結果是7。

回到上面的案例,首先還是把“門票編號”欄中的數據copy到旁邊的H欄處。那麼,要達到“斬開”的效果,可以分別在旁邊I5、J5輸入以下公式,然後往下拖:
  • 細數:=Left(H5,Find("-",H5)-1)
  • 大數:=Right(H5,Find("-",H5)-1)
因為我們只需要“-”前後的六位數,不需要“-”符號本身,因此Find後面要減1,即7-1=6。之所以不直接寫6,是因為擔心前線同事“打漏”數字。演示如下:

但是,如果數據中有不止一條橫線(或其他分隔符號),那麼函數法就不太方便了。

本集到此為止,至於資料剖析中的“固定寬度”,以及Mid函數,則留待下集繼續

沒有留言:

張貼留言