EXCEL数据多列转换成一列?

如图,以下数据:张三 语文100 英语90 数学85李四 语文89 英语95 数学99王五 语文78 英语100 数学76如何转成如下数据:张三 语文100张三 英语90张三 数学85王五 语文78王五 英语100王五 数学76李四 语文89李四 英语95李四 数学99

示例图1

示例图2

F1公式为:

=OFFSET(A$1,INT(ROW(A3)/3)-1,)

G1公式为:

=OFFSET(A$1,INT(ROW(A3)/3)-1,MOD(ROW(A3),3)+1)

然后选中F1至G1,一起下拉填充公式。

问:公式中为什么用INT(ROW(A3)/3)和MOD(ROW(A3),3)呢?

答:因为一共有三个科目,下拉时,每个人名需要生成三行数据,这里的3是等差。

假如说,一共有七个科目的话,每个人名需要生成七行数据,那么等差就是7了,就得用INT(ROW(A7)/7)或MOD(ROW(A7),7)了,明白了没有?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-03-20

第2个回答  2020-07-21

表格中有多列数据,我们希望合并到一列中,一般采用复制一列粘贴,再复制再粘贴,如果数据比较多这种方法还是比较费时的 我们可以先打开剪贴板,然后把每一列都复制一遍,再点击剪贴板中的【全部粘贴】完成多列变一列

第3个回答  2020-01-06
如果行数少, 数据少,可以使用手工来解决,复制粘贴就行了。
如果要反复处理这样的事情,公式要用数组公式的。但是也会比较麻烦,来回拷贝公式的。
公式的话,可以通过统计整个行数,然后INDEX+MOD函数来进行偏移。最好有原表帮你写公式。你的截图里连行标和列标都没出来,也没法给你一个准确的公司。
另外,公式的话, 你每处理一个表也需要重新设置。所以说处理的表多的话, 用公式也不太合适。
最合适的是用VBA代码来处理。设置好了之后一键完成。
建议补充问题,将图给完整。如果有问题,也可以追问或者私信。
相似回答