基本上我有一个需要打印的超过100,000个名字的列表。为了节省空间,我希望它们显示为2列,并且似乎无法找到一种简单的方法。
目前:
1. A
2. B
3. C
4. D
5. E
6. F
7. G
8. H
9. I
10. J
我想做的是:
1. A 6. F
2. B 7. G
3. C 8. H
4. D 9. I
5. E 10. J
我也可以:
1. A 2. B
3. C 4. D
5. E 6. F
7. G 8. H
9. I 10. J
答案 0 :(得分:4)
如果您的数据位于A列和B列,请在C列第一行输入以下公式,将其拖到右侧然后向下,
=IF(ISODD(COLUMN()),INDEX($A:$A,ROW()*2-1,0),INDEX($A:$A,ROW()*2,0))
答案 1 :(得分:0)
我想知道我是否可以为此制定一个相当普遍的解决方案。
以下是两列的公式
=IF(ROW()<=(COUNTA($A:$A)+3-COLUMNS($B:C))/2,INDEX($A:$A,COUNTIFS($B:B,"<>",$B:B,"<> ")+ROW())," ")
从C栏开始
通过更改常量
可以将其更改为3列=IF(ROW()<=(COUNTA($A:$A)+4-COLUMNS($B:C))/3,INDEX($A:$A,COUNTIFS($B:B,"<>",$B:B,"<> ")+ROW())," ")
修改强>
如果COUNTIFS有点慢,则公式为
=IF(ROW()<=(COUNTA($A:$A)+2-COLUMNS($B:B))/2,INDEX($A:$A,(COUNTA($A:$A)+3-COLUMNS($B:B))*(COLUMNS($B:B)-1)/2+ROW()),"")
和
=IF(ROW()<=(COUNTA($A:$A)+3-COLUMNS($B:B))/3,INDEX($A:$A,(COUNTA($A:$A)+4-COLUMNS($B:B))*(COLUMNS($B:B)-1)/3+ROW()),"")