2012年5月10日 星期四

Excel-將學生名條轉換為座位表

當你取得一個學生名條(含有座號+姓名),如果要依座號或是亂數來自動建立座位表,該如何處理?(參考下圖)

【依座號】

儲存格D3:=OFFSET($A$1,COLUMN(A1)+INT(ROW(A1)/2)*7,)

COLUMN(A1)+INT(ROW(A1)/2)*7:當往右複製時會產生0,1,2,3,4,5,6,往下複製二下時,會產生7,8,9,10,11,12,13,…。其中「*7」是因為這個座位表有 7 排。

儲存格D4:=OFFSET($B$1,COLUMN(A1)+INT(ROW(A1)/2)*7,)

原理同上。

複製儲存格D3:J4,貼至儲存格D3:J14。

【依亂數】

如果你在座號前加入一組亂數(=rand()),再依亂數將名條重新排序(遞增或遞減),產生一組新的名條。(每排序一次就會產生一組新名條)

儲存格E3:=OFFSET($B$1,COLUMN(A1)+INT(ROW(A1)/2)*7,)

儲存格E4:=OFFSET($C$1,COLUMN(A1)+INT(ROW(A1)/2)*7,)

原理同上。

複製儲存格E3:K4,貼至儲存格E3:K14。

 

【補充】

詳細函數說明,請參考微軟網站:

OFFSEThttp://office.microsoft.com/zh-tw/excel-help/HP010342739.aspx

OFFSET 函數:傳回根據所指定的儲存格位址、列距及欄距而算出的參照位址。

語法:OFFSET(reference, rows, cols, [height], [width])

Reference:用以計算位移的起始參照位址。

Rows:左上角儲存格要往上或往下參照的列數。Rows可以是正數(表示在起始參照位址下方)或負數(表示在起始參照位址上方)

Cols:左上角儲存格要往左或往右參照的欄數。Cols 可以是正數(表示在起始參照位址右方)或負數(表示在起始參照位址左方)

Height:所傳回參照位址的高度 (以列數為單位)Height 必須是正數。

Width:所傳回參照位址的寬度 (以欄數為單位)Width 必須是正數。

 

沒有留言:

張貼留言

檢視其他文章

好康東東