在 Excel 中,我想将多个不连续的列的数据合并为一列(不包括标题,最好在另一张表上)。
例子:我有一张表格,其中包含多行姓名,其中包含最多三个选择的数据,以及下一列中该选择的任何选项。选择位于 C、E 和 G 列中;其中一些是空白的。选项位于 D、F 和 H 列中;其中一些是空白的。
根据这些数据,我首先想创建一个新工作表,将所有选项合并到一列,并在下一列中显示相应的选项。然后我想删除“选项”列中有空白单元格的所有行。
我目前正在手动将它们复制粘贴到新工作表中,然后找到任何空白单元格并删除它们各自的行。
最有效的方法是什么?
包含原始数据的预先格式化的表格:
原始数据的预期结果:
答案1
Power Query 有合并列的命令。结果可以放在新工作表中。
公式是另一种选择,类似于
=Sheet1!A2&Sheet1!C2&Sheet1!X2
抄下来。
答案2
我想建议简单的多阶段Index
公式,帮助您将多列合并为一列。
单元格中的公式
T2
,填写完毕。=IFERROR(INDEX($O$2:$O$6, ROWS(T1:$T$1)), IFERROR(INDEX($Q$2:$Q$7, ROWS(T1:$T$1)-ROWS($O$2:$O$6)), IFERROR(INDEX($S$2:$S$4, ROWS(T1:$T$1)-ROWS($O$2:$O$6)-ROWS($Q$1:$Q$7)), "")))
另外,添加带有数据范围的工作表名称,例如,
IFERROR(INDEX(Sheet1!$O$2:$O$6,
。
編輯:
使用 OP 样本数据,这应该是 中的公式Sheet 2
。
V10
单元格中的公式Sheet2
,填写R那么德自己的。=IFERROR(INDEX(Sheet1!X$2:X$7, ROWS(Sheet2!V9:$V$9)), IFERROR(INDEX(Sheet1!Z$2:Z$7, ROWS(Sheet2!V9:$V$9)-ROWS(Sheet1!X$2:X$7)), IFERROR(INDEX(Sheet1!AB$2:AB$7, ROWS(Sheet2!V9:$V$9)-ROWS(Sheet1!X$2:X$7)-ROWS(Sheet1!Z$2:Z$7)), "")))
注意: 您可以根据需要调整公式中的单元格引用。
答案3
假设您的工作表名称是公司。
您想要复制第 1 列、第 3 列、第 8 列
在空白工作表中:在A1输入公式=Company!A1
,在B1在单元格中输入=Company!C1
,C1进入=Company!H1
将输入的数据从 A1:C1 复制到下行以获得所需结果。
答案4
“做得过火了。”这绝对不是“巧干不苦干”方法的一部分。
这个问题只需要复制一对列的数据并将其粘贴到所需的输出列中,然后再复制下一对(移动到输出列的末尾以添加数据,而不是覆盖它!),依此类推,直到所有列都在所需的输出列中。
然后只需根据选项列进行排序,将空白移到列的一端或另一端(取决于您的 AZ 或 ZA 顺序选择)。选择所有有空白的行并删除数据。
如果这是一个动态列表,并且您需要定期执行此操作,您可能会喜欢公式化的方法,但是......也许甚至不会,因为这是一件非常简单的事情。