在 Excel 中合并两个表格列

在 Excel 中合并两个表格列

我有两个 excel 文件,例如:
这

这只是整个文件的一小部分。

我想合并列以便得到类似以下内容的内容:
{ 这]2

我不熟悉 Excel 关键词,而且我的英语也不流利,所以我无法在 Google 上找到合适的解决方案。

任何解决方案都将受到赞赏。

答案1

您可以使用如下公式:

=INDEX(  (A1:A3,A5:A7,C1:C3,C5:C7,E1:E3,E5:E7),  ROW(1:3),  ,  {1,2,3,4,5,6})

或者更现代的:

=INDEX(  (A1:A3,A5:A7,C1:C3,C5:C7,E1:E3,E5:E7),  SEQUENCE(3),  ,  SEQUENCE(1,6))

它使用INDEX(),特别是它的最后一个参数(第四个参数很少使用):“区域”参数以及几种指定行值数组和要包含的区域的值数组的方法(上面的第一个),或者更现代的第二个只需要SEQUENCE()

函数经常拒绝多次使用 ,SEQUENCE()因此它必须与函数中其他参数的旧技术之一结合使用。INDEX()将多次使用SEQUENCE(),因此指定事物(尤其是如果您希望它们按相反顺序排列)比使用旧技术要容易得多。 并不是说​​它们很难实现,只是它们没有那么直接,所以一年后更难理解。

当然,对于任何一个公式,您都会在所选的创建参数内部数组常量的方法中生成重要的值,这种方式比简单地输入一个或两个数字更复杂……如果您的需求是持续的。(如果不是持续的,那么简单地查看数字需要是什么并不困难。)

因此ROW(1:3),您最终可能会得到类似于所示的结果ROW("1:"&INDIRECT(ROWS(A1:A3)))— — 无论您的具体情况需要什么。

无论如何,如果您使用数组常量(在公式中直接键入(“硬编码”)或在计算公式时由 Excel 生成)(我之前称之为“内部数组常量”),对于任何参数,您都不能只为其他两个参数输入逗号而不输入任何值来获取区域中的所有行,也不能使用“逗号-0”技术。实际上,无论您是否喜欢,您都必须完全指定所需的参数(行或列)中的至少一个。但不能同时指定两者……另一个可以留空。

另一个奇怪之处是第二个公式第二次使用了SEQUENCE()。您可能认为除了“1”之外,它的行参数还需要其他东西,事实上,它应该是区域中的总行数。但事实并非如此。形成的数组指的是实际区域本身,而不是其中的行和列。因此您只需使用一个简单的“1”即可。

要指定区域,您需要将它们全部放在一组括号内: ()。如果不是,Excel 会认为它们是参数,而不是区域。

如果您以某种顺序指定它们,而不是您需要输出它们的顺序,出于许多充分的理由,您可以按所需的顺序获取它们,方法是为 Areas 参数指定一个精确的文字数组常量,而不仅仅是我显示的 1-6。例如,要获取 A 列的第 3 和第 4 个区域,而不是第 1 和第 2 个区域,您可以这样做: {3,4,1,2,5,6}。看看它们现在是被选中的第 3 和第 4 个区域吗?

如果您需要在它们之间留空列,您只需要在工作表上的某个偏僻位置包含一些始终为空的区域,这样插入的内容就是空材料,因此看起来空白列位于数据列之间 — 如果您还格式化为不显示这些输出列中的 0。或者指定具有值的单元格,""以便输出单元格在默认格式下看起来为空。有很多类似的技巧可用。

相关内容