有人問到如下圖中的代碼欄位,其中的每個代碼都有一個檢查碼(最後一個數字),想要來找出最後一碼是 0 ~ 1 的個數和分別為多少?

【準備工作】

選取A欄中有代碼的儲存格,按一下 Ctrl+Shift+F3 ,勾選「頂端列」,定義名稱:代碼。

【輸入公式】

儲存格D2:=SUMPRODUCT(--(VALUE(RIGHT(代碼,1))=ROW(1:1)-1))

RIGHT(代碼,1):透過 RIGHT 函數取出所有代碼中最右(後)一碼成為一個陣列,目前這個陣列都是數字字串("0”,"1”,…)。

VALUE(RIGHT(代碼,1)):透過 VALUE 函數將上述的數字字串陣列("0”,"1”,…)轉換為數字的陣列(1,2,…)。

ROW(1:1)-1:ROW(1:1)=1,當往下複製時可以產生 ROW(2:2)=2、ROW(3:3)=3、…,再減一可得 0 ~ 9。

最後透過 SUMPRODUCT 函數計算總和,其中「--」運算,乃將公式 VALUE(RIGHT(代碼,1))=ROW(1:1)-1) 所得的 True/False 陣列轉換為 1/0 陣列。

複製儲存格D2,貼至儲存格D2:D11。

arrow
arrow
    全站熱搜

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