HE可否倒轉資料?

HyperEditor Q&A/技術交流
主題已鎖定
symis
一般會員
文章: 17
註冊時間: 1日 1月 1970年, 08:33

HE可否倒轉資料?

文章 symis »

例:資料列1~列5為:a,b,c,d,e
能否變成e,d,c,b,a ?
thanks!
mason
Site Admin
文章: 373
註冊時間: 29日 4月 2003年, 09:57

文章 mason »

是可以,但是要寫巨集,得要費一點功夫。
你能舉個實際的內容嗎?
是整行完全顛倒,還是用逗點分開的項目反向排列?
兩種狀況的寫法難易度差很多。
symis
一般會員
文章: 17
註冊時間: 1日 1月 1970年, 08:33

文章 symis »

mason 寫:是可以,但是要寫巨集,得要費一點功夫。
你能舉個實際的內容嗎?
是整行完全顛倒,還是用逗點分開的項目反向排列?
兩種狀況的寫法難易度差很多。
-----
例:資料列1~列5為:
a
b
c
d
e
能否變成
e
d
c
b
a
-----
其實用Excel可以辦到,在此分享一下:(4種方法均可)
B1=INDEX($A$1:$A$5,COUNTA($A$1:$A$5)+1-ROW())公式下拉
或=INDIRECT("A"&COUNTA($A$1:$A$5)+1-ROW())
或=OFFSET($A$1,COUNTA($A$1:$A$5)-ROW(),)
或=CHOOSE(COUNTA($A$1:$A$5)-ROW()+1,$A$1,$A$2,$A$3,$A$4,$A$5)
chc
進階會員
文章: 35
註冊時間: 1日 1月 1970年, 08:33

文章 chc »

巨集是可以辦到啦
只是如果你只是這樣子的問題
那用排序如何?
根本不用巨集= =

(我不是來亂的>_<)
symis
一般會員
文章: 17
註冊時間: 1日 1月 1970年, 08:33

文章 symis »

chc 寫:巨集是可以辦到啦
只是如果你只是這樣子的問題
那用排序如何?
根本不用巨集= =

(我不是來亂的>_<)
詐看之下好像有理, 不過如果資料原本是: (沒規則性的)
c
e
a
b
d
要變成
d
b
a
e
c
請問如何用排序來做?
ps. 好吧,相信你不是來亂的,那就改回 乍看 好了 ^_^
mason
Site Admin
文章: 373
註冊時間: 29日 4月 2003年, 09:57

文章 mason »

若列數不多,可以用變數陣列處理:
1. 先用 %Lines 取得列數
2. 在 for loop 中以 %Linebuf 取得各行的內容,放在變數陣列中
3. 再用 for loop 將變數陣列內容反過來放進新的文件中
chc
進階會員
文章: 35
註冊時間: 1日 1月 1970年, 08:33

文章 chc »

給施大哥:
你的方法倒是我沒想過,附上我的巨集請指點一下^^

給symis:
排序不行隨便寫個巨集就好了嘛!
def a-3=[if %Mark]
[%s=%TopMark][%e=%BottomMark][unmark]
[%cnt=(%e-%s+1)/2]
[repeat %cnt]
[line %s][mark line]
[line %e][interchange mark][unmark]
[%s=%s+1][%e=%e-1]
[end]
[end]
這次真的是來亂的了!
mason
Site Admin
文章: 373
註冊時間: 29日 4月 2003年, 09:57

文章 mason »

不錯啊!
這樣的寫法,善用 [interchange mark],也很有創意。
主題已鎖定