wps excel 中将一行多列数据转换为一行两列的格式 的方法函数

在使用wps excel 整理表格时,我的表格一行有多列内容,我想把这些数据转换为一行两列的格式,在百度上查了很多方法,都很不好用,最后在论坛中看到的方法,借鉴了一下,各位可以参考。

非常重要的一点:
原始数据,行内容即行名,必须在A列,如果不在A列,匹配出的结果,就会少一列内容。

这是我的原始数据格式:
即一个ENSUMG对应多个ENSUMT
《wps excel 中将一行多列数据转换为一行两列的格式 的方法函数》
整理之后的格式:
《wps excel 中将一行多列数据转换为一行两列的格式 的方法函数》
具体使用的函数
在所有原始数据列后面新建一列,这列内容为A列内容,我新建的列在AB列,所以输入的函数为:

=INDEX(A:A,SMALL(IF(SUBTOTAL(3,OFFSET($B$1:$Z$1,ROW($1:$54)-1,))>=COLUMN(A:AB),ROW($1:$54),4^8),ROW(A1)))&""

1)A:A 原始数据的每行开头的数据,即要根据这个信息去匹配后面的多列内容;
2)3 是函数,不用变换;
3)$B 1 : 1: 1:Z$1 是原始数据中,你要转换的多列数据内容位置,这个B 和Z是列名,可以根据自己的选择更改;
4)ROW($1:$54)-1 代表我的原始数据有53行,这里需要多写一行,留空间
5) A:AB AB是你新建的列,即利用函数匹配出结果的列;

6)最重要的是,在写完这个INDEX函数之后,不要直接按回车,而是保持函数写入状态,同时按ctrl+shift+回车,这样函数就会出现{},就可以往下拉直接补全信息了,不这样操作,无法补全信息。

AC列的数据为B:Z列匹配的内容
使用函数

=IFERROR(VLOOKUP(AB1,A:Z,COUNTIF(AB$1:AB1,AB1)+1,),"")

1)AB1 是上面那一步新建的AB列匹配的数据
2)A:Z 原始数据中,A-Z列数据内容
3)COUNTIF(AB$1:AB1,AB1)+1 就是根据AB列得出的数据,往下移 1

这个函数也可以按照上面 ctrl+shift+回车 操作。

之后,按住鼠标往下拖动,就可以自动补全信息了。

    原文作者:佛系盼毕业
    原文地址: https://blog.csdn.net/weixin_51192038/article/details/123674115
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞