EXCEl如何把一列数据转换成一行10条数据
答案:5 悬赏:80 手机版
解决时间 2021-03-21 10:43
- 提问者网友:别再叽里呱啦
- 2021-03-20 19:41
EXCEl如何把一列数据转换成一行10条数据
最佳答案
- 五星知识达人网友:酒者煙囻
- 2021-03-20 20:25
在附图结构下,B1
=OFFSET($A$1,(ROW()-1)*10+COLUMN(A1),0)
右拉10格再下拉
追问
你好 按照你说的办法为什么前十个数据没有显示
追答你从第二行开始,公式要稍稍变化B2:
=OFFSET($A$1,(ROW()-2)*10+COLUMN(A1),0)
注意,后面的是A1,不是A2追问
不好意思 还是不怎么懂,为什么前3个没有数据
追答大兄弟,公式是位置相关的!你必须明确你的结果数据和源数据的相对位置。
在你不知道公式中各个参数的含义的情况下,修改参数和改变相对位置,就不能得到正确的结果,比如你现在的,安排方式,你在F10开始安排放结果,就和源数据差了两列,这就差两个数,再加上第一个参数,是需要指向有数据的上一行的,这样又差一个,所以差了三个。。自己体会吧
在你后一种情况下第一个单元格公式应该是:
=OFFSET($C$9,(ROW()-10)*10+COLUMN(A1),0)
和你解释一下吧,$C$9,代表Offset将以这个单元格为基准取数,(row()-10)在当前位置将取第几个10的数,column(A1)始终=1,在第一个位置,当然就是开始10个数的第一个,当往右拉一格时,column()里面变成B1,也就是列号2,当然就是第二个数……当公式移到下一行时,(row()-10)*10就变成了取第二轮10个数了,column也回到1~10,就这样一个个往下取数了
=OFFSET($A$1,(ROW()-1)*10+COLUMN(A1),0)
右拉10格再下拉
追问
你好 按照你说的办法为什么前十个数据没有显示
追答你从第二行开始,公式要稍稍变化B2:
=OFFSET($A$1,(ROW()-2)*10+COLUMN(A1),0)
注意,后面的是A1,不是A2追问
不好意思 还是不怎么懂,为什么前3个没有数据
追答大兄弟,公式是位置相关的!你必须明确你的结果数据和源数据的相对位置。
在你不知道公式中各个参数的含义的情况下,修改参数和改变相对位置,就不能得到正确的结果,比如你现在的,安排方式,你在F10开始安排放结果,就和源数据差了两列,这就差两个数,再加上第一个参数,是需要指向有数据的上一行的,这样又差一个,所以差了三个。。自己体会吧
在你后一种情况下第一个单元格公式应该是:
=OFFSET($C$9,(ROW()-10)*10+COLUMN(A1),0)
和你解释一下吧,$C$9,代表Offset将以这个单元格为基准取数,(row()-10)在当前位置将取第几个10的数,column(A1)始终=1,在第一个位置,当然就是开始10个数的第一个,当往右拉一格时,column()里面变成B1,也就是列号2,当然就是第二个数……当公式移到下一行时,(row()-10)*10就变成了取第二轮10个数了,column也回到1~10,就这样一个个往下取数了
全部回答
- 1楼网友:不想翻身的咸鱼
- 2021-03-20 23:59
- 2楼网友:第幾種人
- 2021-03-20 22:59
用VBA吧,比较简单!
- 3楼网友:枭雄戏美人
- 2021-03-20 22:20
如果不会VBA就一点点做吧 函数traspose 具体就是选中那个行的10个单元格 输入=tranpose($a$1:$a$10) 这里假设你的列数据为A列的,然后按CRIL+SHIFT+ENTER。之后的下一个行就是得重新改变函数了。不会用VBA只能这么做了。
- 4楼网友:不想翻身的咸鱼
- 2021-03-20 21:52
在首个单元格中输入公式
=OFFSET($A$1,MOD(COLUMN(J1),10)+10*(ROW(A1)-1),)
将公式右拖成10列后下拉填充。
=OFFSET($A$1,MOD(COLUMN(J1),10)+10*(ROW(A1)-1),)
将公式右拖成10列后下拉填充。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯