2012年2月2日星期四

Excel-去除字串中的括號和多餘空白

在 Excel 中如果貼上一些其他地方複製而來的資料,而你想要去除其中的括號和多餘空白,該如何處理?(參考下圖)

儲存格B2:=TRIM(SUBSTITUTE(SUBSTITUTE(A2,")",""),"(",""))

複製儲存格B2,往下各列貼上。

SUBSTITUTE(A2,")",""):將儲存格A2中的「(」以空串字取代。

SUBSTITUTE(SUBSTITUTE(A2,")",""),"(",""):將去除「(」後的字串,再去除「)」

TRIM 函數:移除儲存格B2中文字之間多餘的空格(僅保留文字間一個空白字元)。

 

【補充資料】

關於函數的詳細說請參與微軟網站:

TRIM:http://office.microsoft.com/zh-tw/excel-help/HP010342967.aspx

SUBSTITUTEhttp://office.microsoft.com/zh-tw/excel-help/HP010342927.aspx

SUBSTITUTE:將文字字串中的 old_text 部分以新字串 new_text 取代。

語法:SUBSTITUTE(text, old_text, new_text, [instance_num])

text:要取代字元的文字,或含有該文字之儲存格的參照。

old_text:這是要取代的文字。

new_text:是要用來取代 old_text 的文字。

instance_num:指定要將第幾個 old_text 取代為 new_text

 

Excel-取含有文字形式的數字來運算(陣列公式)

在 Excel 中的資料表中(參考下圖),其內容欄位的數字有些是文字形式。如果你選取了這些數字,Excel 在狀態列中顯示的加總結果並不會把文字形式的數字併入計算。其結果相當於使用公式:=SUM(B2:B20)。

如果你在計算時,想把這些文字形的數字一起和其他數字加總該如何處理。你可以透過陣列公式來處理,輸入公式後要按 Ctrl+Shift+F3 鍵。

(1) 儲存格D3:{=SUM(--B2:B20)}

使用運算「--」,相當於將儲存格內容乘以兩次「-1」,即可將文字形式數字轉換為一般數字,而此公式相當於:{=SUM(B2:B20*1)}

(2) 儲存格D4:{=SUM(VALUE(B2:B20))}

透過 VALUE 函數將文字轉成數字再運算。

2012年2月1日星期三

Excel-找尋數列中最大的奇數、最小的偶數(陣列公式)

在 Excel 的資料表中有一個數列,想要找出數列中最大的負數、最小的正數、最大奇數、最小偶數,該如何處理?這個題目必須以陣列公式來解決。

選取儲存格A1:A25,按一下 Ctrl+Shift+F3 鍵,勾選「頂端列」,定義名稱:數值。

以下均為陣列公式,輸入完成要按 Ctrl+Shift+Enter 鍵。

(1) 求最大的負數

儲存格D2:{=MAX(IF(數值<0,數值,FALSE))}

IF(數值<0,數值,FALSE):找出小於0的數值陣列,其中參數 False,如果置換為空白或0,則答案永遠為0。再以 MAX 函數求陣列中的最大值。

(2) 求最小的正數

儲存格D3:{=MIN(IF(數值>0,數值,FALSE))}

IF(數值>0,數值,FALSE):找出大於0的數值陣列。再以 MIN 函數求陣列中的最小值。

(3) 求最大奇數

儲存格D4:{=MAX(IF(MOD(數值,2)=1,數值,FALSE))}

IF(MOD(數值,2)=1,數值,FALSE):求出數值中除以2的餘數為1者(奇數)的陣列,再以 MAX 函數求陣列中的最大值。

(4) 求最小偶數

儲存格D5:{=MIN(IF(MOD(數值,2)=0,數值,FALSE))}

IF(MOD(數值,2)=0,數值,FALSE):求出數值中除以2的餘數為0者(偶數)的陣列,再以 MIN 函數求陣列中的最小值。