上一篇介紹了:Excel-求數列中的每個數值經運算後的平均(陣列公式)

網址:http://isvincent.pixnet.net/blog/post/39452901

運用相同觀念來讓學生練習:計算多個儲存格之字元個數總和。參考下圖的多個儲存格中,每個儲存格的字元個數都不相同,如何計算各種狀況的字元個數總和呢?

【實作】

基本上,使用 SUMPRODUCT 函數即可完成所有計算:

(1) 全部字元數之總和

儲存格E2:=SUMPRODUCT(LEN(A2:A20))

使用 LEN 函數,找出每個儲存格中的字元個數。

(2) >12字元之總和

儲存格E3:=SUMPRODUCT((LEN(A2:A20)>12)*(LEN(A2:A20)))

LEN(A2:A20)>12:找出儲存格字元大於 12 的儲存格陣列。

(3) 偶數字元之個數

儲存格E4:=SUMPRODUCT(ISEVEN(LEN(A2:A20))*1)

ISEVEN(LEN(A2:A20):找出儲存格字元為偶數的儲存格True/False 陣列。「*1」的用意為將 True/False 陣列轉換為 1/0 陣列。

(4) 奇數字元之個數

儲存格E5:=SUMPRODUCT(ISODD(LEN(A2:A20))*1)

ISODD(LEN(A2:A20):找出儲存格字元為奇數的儲存格 True/False 陣列。

(5) 偶數字元之總和

儲存格E6:=SUMPRODUCT(ISEVEN(LEN(A2:A20))*(LEN(A2:A20)))

(6) 奇數字元之總和

儲存格E7:=SUMPRODUCT(ISODD(LEN(A2:A20))*(LEN(A2:A20)))

 

【練習】

你可以試著使用陣列公式來運算,參考答案:(輸入公式完,請按 Ctrl+Shfit+Enter 鍵)

儲存格E2:{=SUM(LEN(A2:A20))}

儲存格E3:{=SUM((LEN(A2:A20)>12)*(LEN(A2:A20)))}

儲存格E4:{=SUM(ISEVEN(LEN(A2:A20))*1)}

儲存格E5:{=SUM(ISODD(LEN(A2:A20))*1)}

儲存格E6:{=SUM(ISEVEN(LEN(A2:A20))*(LEN(A2:A20)))}

儲存格E7:{=SUM(ISODD(LEN(A2:A20))*(LEN(A2:A20)))}

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 vincent 的頭像
    vincent

    學不完.教不停.用不盡

    vincent 發表在 痞客邦 留言(2) 人氣()