将从左到右填充的数据改为从右到左填充

例题描述和简单分析

Excel文件Book1.xlsx,数据如下所示:


A

B

C

D

E

F

G

H

I

1

姓名

项目1

项目2

项目3

项目4

项目5

项目6

项目7

项目8

2

1

五级

2266

37

2362

109

五级



3

2

四级

2591

38

2471

109




4

3


五级

2266


2253

109



5

4

六级

2079

33


100




6

5

六级


38

2471

109




7

6


六级

2079

33

1944

100



需要将数据全部右移,以每行最后一个数据为准,右移对齐数据,结果如下所示:


A

B

C

D

E

F

G

H

I

1

姓名

项目1

项目2

项目3

项目4

项目5

项目6

项目7

项目8

2



1

五级

2266

37

2362

109

五级

3




2

四级

2591

38

2471

109

4



3


五级

2266


2253

109

5




4

六级

2079

33


100

6




5

六级


38

2471

109

7



6


六级

2079

33

1944

100

解法及简要说明

在集算器中编写脚本p1.dfx,如下所示: 


A

1

=file("Book1.xlsx").xlsimport@w()

2

=A1.(~.to(1,~.len()-~.rvs().pselect(~)+1).pad@l(null,A1(1).len()))

3

=file("result.xlsx").xlsexport@w(A2)

简要说明:

A1   Excel读成序列的序列

A2  遍历A1,在每个从头到最后一个非空序列前补空值,补到序列与表头序列个数相同为止

A3   结果导出至result.xlsx

问答搜集

http://club.excelhome.net/thread-1587104-1-1.html