在前一篇文章:Excel-分離儲存格中的文字和數字並計算總和(SUMPRODUCT)中,其中的數字都預設為一位數,若是超過一位數,公式將不適用。本篇來練習如果數字部分為一位數以上時該如何處理?

儲存格V2:

=SUMPRODUCT((LEFT(B2:S2,1)="病")*VALUE("0"&MID(B2:S2&"0",2,
LEN(B2:S2)))/10)

細部說明請參考:Excel-分離儲存格中的文字和數字並計算總和(SUMPRODUCT),其中的差異在於:

MID(B2:S2&"0",2,LEN(B2:S2)))/10:為了某些儲存格為空字串會傳回錯誤訊息,且數字部分可能為一位數以上,所以將儲存格內容在左邊先串接一個字串「0」,然後使用 MID 函數,於第二個字之後取原儲存格內容的字數(LEN 函數),例如:原儲存格為「病14」,傳回字串 "140";原儲存格為「事8」,傳回字串 "80";原儲存格為空字串,傳回字串 "0"。最後再除以 10 得到真正的結果。

同理,自行修改:

儲存格W2:

=SUMPRODUCT((LEFT(B2:S2,1)="事")*VALUE("0"&MID(B2:S2&"0",2,
LEN(B2:S2)))/10)

儲存格X2:

=SUMPRODUCT((LEFT(B2:S2,1)="休")*VALUE("0"&MID(B2:S2&"0",2,
LEN(B2:S2)))/10)

arrow
arrow
    全站熱搜

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