2012年7月6日 星期五

【Excel】產生連續有規律的序號(Lesson 2/3)

續 【Excel】產生連續有規律的序號(Lesson 1)

在你瞭解問題之後…廢話就不多說了…我們先來解決(b)的問題
(b)01、02、03…則是每一個換一次數字!直到10完畢,每10個再重頭由01開始。


解法:
=RIGHT(100+IF(MOD(ROW(A1),10)=0,10,MOD(ROW(A1),10)),2)
↑你可以把函式直接copy到Excel中貼上,就會看到結果囉!


先說明作法及原理:


《1》我們可以利用Excel的列號,來產生我們所需要的序號。例如:第一列就是01、第二列就是02~第10列就是10,第11列呢…呵呵!要變成01喔~千萬別忘記了。


如何得到第幾列的值呢…請用〔ROW(儲存格)
ROW(A1)=1
ROW(B10)=10
ROW(X1001)=1001
=ROW(A1)
這個有時還蠻好用的喔!呵呵!


2  再來就是每10個要從頭開始了,這時我們就可以利用10的餘數來得到我們要的循環~
利用〔MOD(被除數,除數)〕來得到餘數的值~
MOD(1,10)=1
MOD(5,10)=5
MOD(16,10)=6
那請問MOD(20,10)=?????
=MOD(ROW(A1),10)
MOD(20,10)=0…怎麼辦?剛好整除的,我們要的是10耶~~~


3當我們將列數  1  拿來除以10,取得他的餘數  2,就可以得到1、2、3…9、0這樣的循環數字了。但如何將0→10呢
最簡單的方式就是用〔IF(條件,真,假)〕來判斷了!


因為IF這個判斷式太常用,也非常好用…所以另外開堂課囉!這裡不說了!
=IF(MOD(ROW(A1),10)=0,10,MOD(ROW(A1),10))


4》最後,我們來處理數字前補零這檔事。一般編碼,都有固定碼位。因此不夠的地方前面就要補零。作法也很多,老師自己固定的做法,就是如果固定2碼,我就給他+100,再取右邊2碼數字。如果固定3碼呢?同理我就+1000,取右邊3碼數字。
怎麼取右邊數字呢,請利用RIGHT(字串,幾碼)〕來做囉!
這個字串處理,改天也來開堂課吧!
=RIGHT(100+IF(MOD(ROW(A1),10)=0,10,MOD(ROW(A1),10)),2)


下一堂: 【Excel】產生連續有規律的序號(Lesson 3)

沒有留言:

張貼留言