【问题标题】:Merge rows with a few same columns in excel在excel中合并具有几个相同列的行
【发布时间】:2011-08-27 04:25:47
【问题描述】:

我有一个 Excel 表,其中的数据类似于以下内容

Reg_id     Name     Product_Owned     Product_model
----------------------------------------------------
34        Tom       Laptop            Dell Studio15 
34        Tom       Mobile            HTC Sense 
34        Tom       Camera            Canon xyz 
67        Steven    Laptop            Apple Mac Book 
67        Steven    Phone             Apple iPhone4 
88        Sunny     Mobile            Samsung i9000 
88        Sunny     Camera            Sony xyz

Product_Owned 列中只有三个值 - Laptop, Camera & Mobile. 我希望将它们的信息作为单独的列存储在同一行的同一行中。

我想做成这种格式:

Reg_id     Name     Laptop           Mobile           Camera
--------------------------------------------------------------
34         Tom      Dell Studio15    HTC Sense       Canon xyz
67         Steven   Apple Mac Book   Apple iPhone4
88         Sunny                     Samsung i9000   Sony xyz

无法手动执行,因为有 ~50000 行。请给点建议。。

【问题讨论】:

    标签: excel


    【解决方案1】:

    在相邻表中创建一个唯一的 Reg_IDName 列表,类似于您在第二个表中设置的内容。

    LaptopMobileCamera 创建一个标题,就像你有的那样,然后在下面,在 H2 中输入以下公式作为数组公式,假设第一个表在单元格 A1:D8 和新在 F1:J4 中创建:

    =INDEX($D$2:$D$8,MATCH($F2,$A$2:$A$8,0)+MATCH(H$1,OFFSET($C$2,MATCH($F2,$A$2:$A$8,0)-1,0,COUNTIF($A$2:$A$8,$F2)),0)-1)
    

    这将返回对应的Reg_IDProduct_Owned 的值,当Product_Owned 不存在时返回一个“#NA”。如果您想返回一个空白而不是“#NA”,您可以添加一个 ISNA() 公式,如下所示:

    =IF(ISNA(INDEX($D$2:$D$8,MATCH($F2,$A$2:$A$8,0)+MATCH(H$1,OFFSET($C$2,MATCH($F2,$A$2:$A$8,0)-1,0,COUNTIF($A$2:$A$8,$F2)),0)-1)),"",INDEX($D$2:$D$8,MATCH($F2,$A$2:$A$8,0)+MATCH(H$1,OFFSET($C$2,MATCH($F2,$A$2:$A$8,0)-1,0,COUNTIF($A$2:$A$8,$F2)),0)-1))
    

    【讨论】:

    • 嗨,克里斯。谢谢,我在示例表上试过这个,它有效! :) 一个 n00b 疑问.. 我如何创建一个唯一的 reg_id 列表以及他们的姓名、地址和电话号码?这些列也存在于我的表中,但为了简单起见,我在此处跳过了它们。
    • 假设 Reg_ID 和 Name 之间存在一对一的映射,您可以创建一个唯一的列表,然后使用 INDEX/MATCH(类似于上面使用的)来检索名称。明确一点 - 您可以通过将所有值复制并粘贴到辅助位置并在 Excel 2007 的“数据”表中使用“删除重复项”或使用“高级筛选器”来创建唯一列表,也在“数据”选项卡,确保选中“唯一记录”框。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-12
    • 1970-01-01
    • 1970-01-01
    • 2014-07-22
    • 1970-01-01
    相关资源
    最近更新 更多