【问题标题】:Concatenate by group excluding group member from same row按组连接,不包括同一行中的组成员
【发布时间】:2015-05-03 12:33:44
【问题描述】:

是否可以在图像中创建“集群”列?需要连接所有常见“整体”值的“单位”值,但不包括自身作为被连接的值之一。能否请我帮助我创建“集群”列?

每个“集群”都包含来自同一整体的所有单位,但结果所在行的单位除外:

Overall     Unit       Cluster
Overall1    UnitA1     {UnitA2, UnitA3}
Overall1    UnitA2     {UnitA1, UnitA3}
Overall1    UnitA3     {UnitA1, UnitA2}
Overall2    UnitA4     {UnitA5}
Overall2    UnitA5     {UnitA4}
Overall3    UnitB62    {UnitB63, UnitB64, UnitB65}
Overall3    UnitB63    {UnitB62, UnitB64, UnitB65}
Overall3    UnitB64    {UnitB62, UnitB63, UnitB65}
Overall3    UnitB65    {UnitB62, UnitB63, UnitB64}

认为这可能是一个两步过程,连接然后可能是搜索和替换?

【问题讨论】:

  • 我想不出任何干净/可靠的方法来使用内置的 Excel 工作表函数来做到这一点。最好的办法是编写自定义 VBA 函数。

标签: excel excel-formula concatenation worksheet-function substitution


【解决方案1】:

可以通过公式来实现,而不是冗长的问题。假设按指示排序并且Overall 在 A1 中:

  1. 在 C1 Cluster 中,在 C2 中(假定在 Row1 中的标签):

    =IF(A1=A2,C1&", "&B2,"{"&B2)  
    
  2. 在 D2 中:

    =A1<>A2  
    
  3. 复制两个公式以适应。

  4. 全选、复制、选择性粘贴、值。

  5. 全选,数据>大纲 - 小计,每次更改时:Overall,使用函数计数,将小计添加到:(ColumnD),替换当前小计,汇总数据下方,确定。

  6. 过滤器和对于 ColumnA,文本过滤器,包含...,co,确定。

  7. 在 ColumnC 中标题下方可见的第一行(假定为 Row5)输入:

    =C4  
    

    并复制下来以适应。

  8. 取消筛选,全选,复制,选择性粘贴,值。

  9. 选择 A 列,开始 > 编辑 - 查找和选择,替换...,查找内容:Count,全部替换。 (CountC前面有一个空格。)

  10. 全选、数据 > 大纲、小计、全部删除。删除Grand 行。

  11. 过滤以在 ColumnD 中选择除 TRUEFALSE 之外的所有内容,并在 ColumnB 的第一个空白单元格中插入 1 并向下复制以适应。取下过滤器。

  12. 按 A 列值从 A 到 Z 排序,然后按 B 列值从 A 到 Z 排序。

  13. 过滤 ColumnD 以选择 TRUEFALSE 并删除所选行的 ColumnC 的内容(留下标签)。

  14. 取下过滤器并选择 ColumnC。主页 > 编辑 - 查找和选择、转到特殊...、空白、确定。

  15. =,向上,Ctrl+Enter。

  16. 全选、复制、选择性粘贴、值。

  17. 在 ColumnD 中选择除 TRUEFALSE 之外的所有行,然后删除选定的行。

  18. 在E2中复制下来以适应:

    =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(C2,"{"&B2&", ","{"),", "&B2,""),", "&B2,"")&"}"  
    
  19. 全选,复制,选择性粘贴,数值,删除C:D列,在C1中输入Cluster

.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-09
    • 2011-05-25
    • 2020-06-17
    • 2019-03-06
    相关资源
    最近更新 更多