excel如何将一行拆分成多行,并使每一列里面的内容一一对应?

图中,姓名、性别、学历都包含多个人,如何将每个人拆成单独的一行,并对应自己的性别学历,比如姓名列中第二个人对应性别列中第二个字母

数据不多的话,就手动处理下吧,半自动步骤如下:

1、筛选姓名列包含逗号的,复制到新表格中,获得图示:

2、手工裁剪下各列数据,获得:

3、选定数据区,然后使用 数据==》分列==》分隔符号选择 逗号,获得:

4、将数据手动剪切到1列中,获得:

5、关键步骤!!!给步骤4获得的数据增加 辅助编号,获得:

操作方法:第一个输入单元格输入公式

=MOD(ROW(A2),2)+1+INT(ROW(A2)/2)*0.001

然后下拉

说明:公式中2是因为步骤1筛选出的数据只有2行,如果步骤1筛选有3行,公式中2就改成3即可,注意是全都改!其他情况类推!

6、复制辅助列,并选择粘贴为数值,然后使用辅助列排序,获得:

7、将获得的数据复制出来,到新区域中,如a列:

8、选定 步骤7的数据,ctrl+g定位,将空值定位,然后删除整行,获得:

9、在需要结果的地方输入:

=OFFSET($A$1,ROW(A1)*3+COLUMN(A1)-4,0)

然后右拉2列,然后下拉,获取需要的数据。

综上,指导起来很复杂,半小时没了,实际操作熟练的2分钟搞定。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-11-01

随便模拟了个数据,公式如下=WRAPCOLS(TEXTSPLIT(CONCAT(TOROW(A1:C3&"、",,1)),"、",,1),SUM(LEN(A1:A3)-LEN(SUBSTITUTE(A1:A3,"、",)),COUNTA(A:A)))

具体引用范围请自行修订。

供参考。

相似回答