2012-07-06

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


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

解決(b)的問題,再來解決(a)這個文字序號的問題~
(a)A、B、C…是每10個換一次字母!直到J完畢,每100個再重頭由A開始。

解法:
=CHOOSE(IF(MOD(INT((ROW(A1)-1)/10)+1,10)=0,10,MOD(INT((ROW(A1)-1)/10)+1,10)),"A","B","C","D","E","F","G","H","I","J")
↑你可以把函式直接copy到Excel中貼上,就會看到結果囉!

作法及原理:

《1》這裡有提到文字序號(A、B、C…)是每10個才換一次~~,如果我依然想要利用"列號"來得到現在該不該換呢?這時可能就要靠些演算法的分析了。

突然覺得這部份,若沒有面對面說明或遠端教學…對於初學者來說,似乎很容易搞得迷迷糊糊滴~所以老師先列出算式原理…想瞭解滴再似底下找我吧!
=MOD(INT((ROW(A1)-1)/10)+1,10)
注意:這函式到循環10(99~100)時,MOD的結果也是0喔!所以要用上一堂課IF的方式判斷改成10
=IF(MOD(INT((ROW(A1)-1)/10)+1,10)=0,10,MOD(INT((ROW(A1)-1)/10)+1,10))

《2》再來進入本堂課的正題了…如果我可以依據列得到10個1、10個2~10個10,再重覆10個1、10個2…這樣,是否我就可以設定,當值=1時,帶出A、值=2時帶出B…值=10時帶出J?

當然可以囉,用用〔CHOOSE(第幾個,第1個值,第2個值,…,第幾個值)
CHOOSE(1,"A","B","C",...,"J")=A
CHOOSE(2,"A","B","C",...,"J")=B
CHOOSE(10,"A","B","C",...,"J")=J

好,CHOOSE裡有1、2、10,我們不是在《1》裡已經設出來了!
那…就把它換進去吧!
=CHOOSE(IF(MOD(INT((ROW(A1)-1)/10)+1,10)=0,10,MOD(INT((ROW(A1)-1)/10)+1,10)),"A","B","C","D","E","F","G","H","I","J")

如果你寫出來了!恭禧你,可以下課囉!!記得…回家作業~~

回家作業:
還記得Lesson1時,有提到最原始的問題
問題:2200-A01~A10、2200-B01~B10…2200-J01~J10,再來就2202-A01~A10…
請大家想想…前面4碼怎麼處理吧!
按Lesson1、Lesson2的步驟,就可以求出來了喔!加油~Go~

5 章老師的電腦小講堂: 【Excel】產生連續有規律的序號(Lesson 3/3) 續  【Excel】產生連續有規律的序號(Lesson 2) 解決(b)的問題,再來解決(a)這個文字序號的問題~ (a)A、B、C…是每10個換一次字母!直到J完畢,每100個再重頭由A開始。 解法: = CHOOSE(IF(MOD(INT((ROW(A1)-1)...
小講堂經過多次搬移,舊文章連結及內容較難整理~
大家可以新文章為主~
每篇文章後有代碼,任何文章問題可至FB小講堂用代碼提問唷~