返回列表 上一主題 發帖

關於使用excel做重新排列

關於使用excel做重新排列

關於使用excel做重新排列

我需要將a4對切並重新排列順序
假設總共有18個數字 (此數字量不固定)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

照原本的印出順序應該是 (這裡共9張a4紙)
1        3        5        7        9        11        13        15        17
2        4        6        8        10        12        14        16        18
這樣對切後順序就不是1~18,而是1.3.5.7.9.11.13.15.17.2.4.6.8.10.12.14.16.18

我需要的印出順序應為
1        2        3        4        5        6        7        8        9
10        11        12        13        14        15        16        17        18
這樣才能將a4對切後直接將下面那疊放在上面那疊之後
成為1~18

目前是有發現規律
先用公式去除以2
=ROUNDUP(COUNTA(A2:A101)/2,0)
然後上半部的數字減遞增數量
1-0        3-1        5-2        7-3        9-4        11-5        13-6        15-7        17-8        一路到總數/2-1
而下半部則是數字加遞減數量
2+8        4+7        6+6        8+5        10+4        12+3        14+2        16+1        18+0
請問有辦法用excel 2003解決嗎? 若無法只以excel處理是否可用2003的VBA處理呢

excel排序詢問.png
2018-3-26 18:36


p.s上述數字指的是位置而不是內容,可以視為儲存格的位置
也就是a10的值要放到b2

隨意窩 "EXCEL迷"  blog  或 http://blog.xuite.net/hcm19522/twblog
已收集5000篇 EXCEL函數

TOP

回復 2# hcm19522

您好,感謝您的回覆
目前看起來是符合我要用的樣子,過幾天有要用到的時候再做實際操做看看
看起來要增加數量應該是修改A的值即可
再次感謝您

C2:C65535=IF(A2="","",ROUNDUP(COUNTA(A$2:A$65535)/2,)*(MOD(ROW(A1),2)=0)+INT(ROW(A2)/2))

D2:D65535=IF(A2="","",OFFSET(A$1,ROUNDUP(COUNTA(A$2:A$65535)/2,)*(MOD(ROW(A1),2)=0)+INT(ROW(A2)/2),))



排序.rar (8.05 KB)

TOP

回復 2# hcm19522
不好意思,改了一下東西,因為實際操作中不需要第一行,複製的時候是複製整欄再到其他地方做處理
但改了之後發現若不為整除會多出一個0的部分,想請位可以將那個多出的部分放成第一個值或最後一個值嗎? (A1 OR "A"end)
2018-03-28 02_09_09-Microsoft Excel - 雜用.xls.png
2018-3-28 02:17

整個檔案在附件中
重新排序.rar (10.23 KB)

再次麻煩您了 m(_ _)m

TOP

回復 4# wei9133


    E2=IF(A2="","",OFFSET(A$1,ROUNDUP(COUNTA(A$2:A$9999)/2,)*(MOD(ROW(A1),2)=0)+INT(ROW(A2)/2),))
隨意窩 "EXCEL迷"  blog  或 http://blog.xuite.net/hcm19522/twblog
已收集5000篇 EXCEL函數

TOP

回復  wei9133


    E2=IF(A2="","",OFFSET(A$1,ROUNDUP(COUNTA(A$2:A$9999)/2,)*(MOD(ROW(A1),2)=0)+ ...
hcm19522 發表於 2018-3-28 10:08



  你好,我改完的是不要第一欄的狀況
所以需要從E1開始拉,用上這個公式A1位置的部分會不見,而且整個等於往後一格了
2018-03-31 21_04_05-Microsoft Excel - 雜用.xls.png
2018-3-31 21:05

還請協助修改公式,要向C那欄表示位置的一樣,不過C那欄的問題是最後一個數字會不見
2018-03-31 21_10_06-Microsoft Excel - 雜用.xls.png
2018-3-31 21:10


前面沒有說清楚還請你見諒,詳細請用附見檔案看比較清楚
附件的檔案C欄少最後一個,E欄少第一個

雜用.rar (10.48 KB)

TOP

E1=IF(A1="","",OFFSET(A$1,ROUNDUP(COUNTA(A$1:A$9999)/2,)*(MOD(ROW(A1),2)=0)+INT(ROW(A2)/2)-1,))
隨意窩 "EXCEL迷"  blog  或 http://blog.xuite.net/hcm19522/twblog
已收集5000篇 EXCEL函數

TOP

回復 6# wei9133


    =IF(ROW(A1)>COUNTA($A:$A),"",OFFSET($A$1,CHOOSE(MOD(ROW(A1)-1,2)+1,INT((ROW(A1)-1)/2),ROUNDDOWN(COUNTA($A:$A)/2,0)+INT((ROW(A1)-1)/2)),))
學海無涯_不恥下問

TOP

回復  wei9133


    =IF(ROW(A1)>COUNTA($AA),"",OFFSET($A$1,CHOOSE(MOD(ROW(A1)-1,2)+1,INT((ROW( ...
Hsieh 發表於 2018-4-3 15:07



    你好,不好意思翻了舊文了...
E的欄位用了你的公式能夠正常運做了
但C欄還是少最後一個的位置
原本C欄為第一格公式為
=IF(A2="","",ROUNDUP(COUNTA(A$2:A$65534)/2,)*(MOD(ROW(A1),2)=0)+INT(ROW(A2)/2))
abbr_4fcbb9a7bd93f4eb53e080cb08a31e57.png
2018-6-19 21:53

在這裡的部分第38個位置就不顯示了,能否讓他顯示呢?
需要看檔案的話請參考附件
排序,疑問.rar (12.95 KB)
先感謝你的幫助與抽空回覆

TOP

回復 9# wei9133


C1:
=IF(A1="","",ROUNDUP(COUNTA(A:A)/2,)*MOD(ROW(A2),2)+INT(ROW(A2)/2))

E1:
=IF(A1="","",INDEX(A:A,ROUNDUP(COUNTA(A:A)/2,)*MOD(ROW(A2),2)+INT(ROW(A2)/2)))
EXCEL參考資料:
http://blog.xuite.net/smile1000mile/blog

TOP

        靜思自在 : 站在半路,比走到目標更辛苦。
返回列表 上一主題