gpt4 book ai didi

excel - 如果 2 行的 2 个单元格相同,则将单元格字符串添加到另一个单元格

转载 作者:行者123 更新时间:2023-12-04 22:08:08 26 4
gpt4 key购买 nike

我正在尝试制作一个将通过电子表格的宏,并根据 2 行的名字和姓氏相同,将种族列的内容添加到第一行。

例如。

FirstN|LastN |Ethnicity                                       |ID      |

Sally |Smith |Caucasian |55555 |
Sally |Smith |Native American | |
Sally |Smith |Black/African American | |

(宏运行后)
Sally |Smith |Caucasian/Native American/Black/African American|55555   |

关于如何做到这一点的任何建议?我阅读了几种不同的 VBA 方法,但对创建此宏的方法感到困惑。

编辑
可能需要合并的行超过 2 行,并且需要以某种方式删除或删除较低的行。

最佳答案

如果您可以使用公式,那么您可以执行以下操作:

我正在做的几个假设:

  • 莎莉在牢房A2 (第 1 行有标题)。
  • 没有人拥有超过 2 个种族。

  • 现在,对于步骤:
  • 放置一个过滤器并按姓名和姓氏排序。这规定任何人的姓名分开。 (即,如果顶部有一个“Sally Smith”,那么在不同的人之后的某个地方就没有更多的“Sally Smith”了)。
  • 在 D 列中,输入公式 =if(and(A2=A3,B2=B3),C2&"/"&C3,"")
  • 将过滤器扩展到 D 列并过滤掉所有空白。

  • 也就是说,它查看名称单元格 A2 和 A3 是否相等(名称相同),以及单元格 B2 和 B3 是否相等(姓氏相同)。

    如果两者都是真的,那就是同一个人,所以我们连接(使用 & 是除了使用 concatenate() 之外的另一种连接方式)这两个种族。

    否则,如果名称或用户名或两者不同,则留空。

    要完全删除冗余行,请在 D 列复制/粘贴值,过滤 D 列中的空白单元格并删除。之后排序。

    编辑:根据问题的编辑:

    新步骤:
  • 放置一个过滤器并按姓名和姓氏排序。 (上面已经解释过)
  • 在 E 列中,输入公式 =IF(AND(A1=A2,B1=B2),E1&"/"&C2,C2) (我改变了公式以适应新方法)
  • 在 F 列中,输入公式 =if(and(A1=A2,B1=B2),F1+1,1)
  • 在 G 列中,输入公式 =if(F3<F2,1,0)
  • 在 H 列中,输入公式 =if(and(D2="",A1=A2,B1=B2),H1,D2) (无论走到哪里,这都会使用 ID)。

  • 将公式从第 2 行开始。第 3 步所做的是为同名的人添加一个递增编号。

    第 4 步所做的是检查 F 列何时返回 1。这将确定您的“要保留的最后行”。

    这是我从这些公式中得到的输出:
    enter image description here

    绿色行是您保留的(请注意, 1 列中有 G,可让您快速发现它们),A、B、C、E 和 H 列是您在最后一张表中保留的列.完成公式后和删除行之前,不要忘记复制/粘贴值!

    关于excel - 如果 2 行的 2 个单元格相同,则将单元格字符串添加到另一个单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16321459/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com