excel怎么把多列数据按序排成一列?数据是不规则的家庭信息,有的有3列,有的有4列、5列,具体如图

如题所述

截图没行号和列标(百度知道提问中的通病了,呵呵。好像Excel的公式不需要行号列标似的),姑且假设两个表中的序号都是A1单元格吧,数据源的工作表名称假设为Sheet1,数据在B2:M200(即199户,一户最多6个家庭成员),如果不是,请自己修改公式到与实际数据相一致,要求在Sheet2中排成2列。
在Sheet2的B2单元格中输入公式:
=INDIRECT("Sheet1!R"&INT(SMALL(IF(ISTEXT(Sheet1!$B$2:$M$200),ROW(Sheet1!$B$2:$M$200)*100+COLUMN(Sheet1!$B$2:$M$200),4^8),ROW(1:1))/100)&"C"&SMALL(IF(ISTEXT(Sheet1!$B$2:$M$200),ROW(Sheet1!$B$2:$M$200)*100+COLUMN(Sheet1!$B$2:$M$200),4^8),ROW(1:1))-INT(SMALL(IF(ISTEXT(Sheet1!$B$2:$M$200),ROW(Sheet1!$B$2:$M$200)*100+COLUMN(Sheet1!$B$2:$M$200),4^8),ROW(1:1))/100)*100,)&""
同时按Ctrl+Shift+Enter三键输入数组公式,下拉到出现空白单元格
C2中输入公式:
=INDEX(Sheet1!$B$2:$M$200,MIN(IF(Sheet1!$B$2:$M$200=Sheet2!B2,ROW(Sheet1!$B$2:$M$200),4^8))-1,MIN(IF(Sheet1!$B$2:$M$200=Sheet2!B2,COLUMN(Sheet1!$B$2:$M$200),4^8)))
同样数组公式,下拉到与B列平齐追问

晕,看到都眼花了,要不你留下Q,我发给你,你帮忙弄下?

追答

公式还有点问题,因为是按你贴图做的,但实际上身份证号码是15位数据(现在已可以不考虑第1代身份证了),必须设置为文本格式或先输入英文的单引号才能完整输入身份证号码。前面的公式用到实际的工作表中时,因为身份证号码也会被IF判断为文本,与姓名无法区分,分当文本提取姓名列中来,所以公式的

IF(ISTEXT(Sheet1!$B$2:$M$200),

要修改一下,即通过姓名取第1个字符不会是数字来设置条件:

ISERR(LEFT(Sheet1!$B$2:$M$200,1)*1)*(Sheet1!$B$2:$M$200<>"")

修改后,B2中的完整的公式是:

=INDIRECT("Sheet1!R"&INT(SMALL(IF(ISERR(LEFT(Sheet1!$B$2:$M$200,1)*1)*(Sheet1!$B$2:$M$200<>""),ROW(Sheet1!$B$2:$M$200)*100+COLUMN(Sheet1!$B$2:$M$200),4^8),ROW(1:1))/100)&"C"&SMALL(IF(ISERR(LEFT(Sheet1!$B$2:$M$200,1)*1)*(Sheet1!$B$2:$M$200<>""),ROW(Sheet1!$B$2:$M$200)*100+COLUMN(Sheet1!$B$2:$M$200),4^8),ROW(1:1))-INT(SMALL(IF(ISERR(LEFT(Sheet1!$B$2:$M$200,1)*1)*(Sheet1!$B$2:$M$200<>""),ROW(Sheet1!$B$2:$M$200)*100+COLUMN(Sheet1!$B$2:$M$200),4^8),ROW(1:1))/100)*100,)&""

C2中的公式也要稍作修改:

你无需发表格,只需要把上面的公式复制下来,分别复制上面的公式,在B2和C2中粘贴后同时按Ctrl+Shift+Enter三键,就可输入数组公式。上传做的样表,你自己下载吧


追问

求留邮箱,实在搞不定,帮帮忙,谢谢

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-08-25
那么 你怎么知道 谁跟谁是一家的呢?有什么标识么?
没有标识 别说是计算机设置公式 人也没法分啊~~~~追问

不需要知道谁是一家,只要按照横过去的先后顺序排好就行

追答

哦 就是一图 转成二图的样子 是吧
解决方案:都按最多的转 比如5
转完后 排序删除空白行 就可以了

追问

空白行可以筛选,但是怎么转呢?

追答

文件发 joy.008@163.com

追问

文件已经发给你了,请帮忙,谢谢

追答

文件做好了 请查收

追问

不好意思,他比你快了那么一点点

...排成一列?数据是不规则的家庭信息,有的有3列,有的有4列、5列...
$B$2:$M$200),ROW(Sheet1!$B$2:$M$200)*100+COLUMN(Sheet1!$B$2:$M$200),4^8),ROW(1:1))\/100)*100,)&""同时按Ctrl+Shift+Enter三键输入数组公式,下拉到出现空白单元格 C2中输入公式:=INDEX(Sheet1!$B$2:$M$200,MIN(IF(Sheet1!$B$2:$M$200=Sheet2!B2,ROW(Sheet1!$...

电脑excel表格如何将多列内容变成一列
1.首先我们打开电脑中的一份excel表格。2. 选中第一列的数据,按下ctrl键+C键即可快速复制。然后点击上方开始选项,再点击下一行中剪贴板旁边的斜箭头。3. 然后在打开的剪贴板窗口中即可将内容粘贴到表中了。4. 根据第二个步骤将表格中的第2、3列内容也复制粘贴到剪贴板中。5.选中个空白单元格。...

Excel怎么将多列内容按顺序合并到一列?
1、怎么隔行删除(带日期的列) >>按住Ctrl,用鼠标点选要删除的列,然后对选中列右击选择“删除” 2、怎么按顺序将几千列数据合并在同一列里 >>使用Ctrl+Shift+↓逐列复制内容,粘贴到需要的地方,如记事本、Word等。 如果列数太多,可以使用VBA处理。 以上希望能帮上忙!

如何把excel多列(每列不同行),变成一列
1.选中三列,点复制,然后,打开剪贴板 2.在第四列第一个单元格双击,进入编辑状态,然后单击编辑栏,再单击剪贴板刚才复制的数据,回车。这样,三列的数据就都复制到这个单元格中。3.按CTRL+H,在弹出的对话框中,查找那位置输入空格,在替换的位置,按住ALT输入10,ALT+10代表的意思是回车,也就...

Excel如何把多列数据变为一列数据?Excel把多列数据变为一列数据的方法...
Excel把多列数据变为一列数据的方法 1、以下图中的表格数据为例,要将【车号】、【车辆进厂时间】、【车辆出厂时间】3列的合并到新的一列中;2、点击【开始】-【剪贴板】右下角的按钮;3、这时会打开剪贴板,如果当中有内容,点一下【全部清空】;4、接下来,选中【车号】列,右键【复制】;5...

excel中如何把多行多列数据排成一列
1. 假设您已经有一些数据,并且希望将多行多列的数据合并成一列。由于显示大小的限制,这里的数据只是部分示例,实际上可以包含更多数据,操作步骤是相同的。首先,在A列的第一个空白单元格下面输入=B1,然后按回车键完成第一步操作。2. 接下来,使用填充柄功能将该公式横向拖动到C6单元格。这样,横向...

excel怎么把多个连续单元格数据变成一列?
1、分列 1)选中需要处理的数据区域 点击分列,得到下一个对话框 点击下一步,到了分列的第2步 我们需要一“*”分开数据,所以这里我们要在其他处,注意 看光标,箭头所指的白色方框里输入“*”当我们录入了“*”之后,下面的预览就能看到将其分开了,点击下一步 目标区域默认还是自身到单元格,为了...

excel如何将多列数据按日期排序?
1、选中需要按顺序排列的区域;2、依次打开菜单栏“数据”→“排序”,这时我们会看到弹出一个“排序”的对话框;3、选择“自定义序列”,这里面我们就可以选择我们需要排序的类型了,然后确定即可。上述操作是按照月份的顺序来排列的,大家也可以根据自己的需求选择,如:按星期排列、按季度排列、按英文...

excel中如何把多行多列数据排成一列
1.模拟了一些数据,要把ABC三列数据合并成一列,由于显示大小限制,这里数据有点,实际可以有很多,都是一样的操作。第一步,在A列下面第一个空白单元格输入=B1,回车,完成第一步操作。2.利用填充柄功能,右拉公式,到C6,这样横向公式填充完毕。3.右拉公式后,再下拉公式,下拉到a15,因为三列一...

在excel中怎么把多行数据转化为一列
1、打开excel文件,在多行多列中输入姓名。2、在C6单元中输入=D1,按确定。3、在右下角处出现十字形时,向下拖动,出现如下结果。4、把左边空白表格上也填充上发,发现第一列已经全部出现名字了。5、把左边的内容选中,复制选择性粘贴到右边某一列即可,然后清除一下内容。

相似回答