✔ 最佳答案
新田美香果然犀利,我看過你之前的解答,都十分精彩。但我覺得這樣做不能100%確定輸入正確,例如輸入9個7 (即777777777),輸入7個7,又或者入英文字,都不會變紅色。
設 A 全欄都要有驗證,我有一個建議:
1. 全選 A 欄,按 (格式)(儲存格)(數字類別)改為(文字)。讓輸入者輸入 07777777 這個正確組合時,不會變成 7777777。
2. 按(資料)(驗證)(設定)儲存格內允許改為(自訂),在(公式)輸入
=AND(LEN(A1)=8,MOD(A1-RIGHT(A1)*11,7)=0)
確定
(如出現 : 公式的值將會導致錯誤,按(是),這只是因為你尚未輸入一個正確號碼)
這樣做,錯誤的資料根本無法輸入,何必要讓錯誤變成紅色呢?
當然如果你輸入 77777770 時入錯 77777777,雖然只是按錯一個字,但這兩個組合都正確,無法控制了。
2008-12-25 18:06:20 補充:
RIGHT(A1)*11,是把最後一個數字乘大11倍,這是方便做計算工作。
把你原本想在 (個位) 做的減數工作,在 (十位) 完成。
7163847 - 5 = 7163842 這個數能整除 7
71638475 - 55 = 71638420 這個數相差十倍,也一定能整除 7
2008-12-26 00:09:32 補充:
新田美香提點正確!負數問題應該防止,以下公式能解決吧。
=AND(A1*1>0,LEN(A1)=8,MOD(A1-RIGHT(A1)*11,7)=0)
而小數問題在MOD裏己防止了。