如何在电子表格中组合可能包含或不包含相同信息的多个列?

时间:2016-08-23 19:43:07

标签: excel google-sheets spreadsheet openoffice-calc

好的,所以我不知道怎么说这个,所以我会展示我想做的事。

| A     |   | B     |   | C     |   |
| Bob   | 1 | John  | 4 | Bob   | 7 |
| John  | 3 | Sally | 2 | John  | 3 |
| Sally | 7 |       |   | Sally | 3 |
| Chris | 3 |       |   | Hana  | 9 |
|       |   |       |   | Ruth  | 6 |

我想把它们全部用名字组合起来,就像这样......

|       | A | B | C |
| Bob   | 1 | 4 | 7 |
| John  | 3 |   | 3 |
| Sally | 7 | 2 | 3 |
| Hana  |   |   | 9 |
| Ruth  |   |   | 6 |
| Chris | 3 |   |   |

最简单的方法是什么?我可以访问OpenOffice Calc,Microsoft Excel和Google Spreadsheet。

提前谢谢。

2 个答案:

答案 0 :(得分:2)

由于您不想剪切和粘贴,我认为这是:

a)大量数据,或 b)你经常要做的事情,

或两者兼而有之。知道哪些会对我有所帮助。

在大多数情况下,您首先要创建单个名称列表,方法是将每个列复制到另一个位置,然后使用“删除重复项”。

2)创建两个如下所示的表: pic of tables

将这些公式复制下来:

I2:  =VLOOKUP(H2,$A$2:$B$7,2,FALSE)
J2:  =VLOOKUP(H2,$C$2:$D$7,2,FALSE)
K2:  =VLOOKUP(H2,$E$2:$F$7,2,FALSE)

答案 1 :(得分:0)

在对表格进行矢量化后,您可以使用数据透视表。 此方法的优点是最终结果会在任何更改中自动更新(在数据透视表上按“刷新”后)。这是你如何做到的:

  1. 以及每个值列之后的另一列,其中ABC一直重复到表的末尾。这可以很快完成,我想这不会是一个问题。

  2. 将表的所有范围定义为命名范围(以下为data),并使用以下公式将其全部向量化:

    =OFFSET(data,TRUNC((ROW()-ROW($K$2))/COLUMNS(data)),MOD(ROW()-ROW($K$2),COLUMNS(data)),1,1)

    虽然$K$2是向量的第一个单元格(您粘贴公式的位置),但您只需将它一直压缩直到达到数据末尾:

    combining columns

    在此示例中,列K包含表中的所有值。

  3. 使用三个简单的公式将向量分解为三列(并为列提供有意义的名称):

    上面的L栏中的

    =IF(AND(ISTEXT($K2),LEN($K2)>1),$K2,"")
    在上面的M列中:=IF(AND(ISTEXT($K2),LEN($K2)>1),$K4,"")
    在上面的N列中:=IF(AND(ISTEXT($K2),LEN($K2)>1),$K3,"")

    我在此假设您可以通过规则区分什么是Name和什么等同于A,B,C。如果上述逻辑规则不符合您的具体情况,请更改以匹配您的数据。

  4. 根据此列创建数据透视表,以根据需要交叉制表:

    Pivot

  5. 如果您需要更多关于任何步骤的解释,请随时评论我;)