【问题标题】:Looking up matching cell data based on a common ID根据公共 ID 查找匹配的单元格数据
【发布时间】:2021-03-16 16:55:25
【问题描述】:

让我先说我非常不熟悉 Excel 公式。 我只有一个基本的知识,而且已经好几年没用了。

我的 Excel 工作表中有两组不同的列,每组都有一个 ID 和一个名称。 现在我想使用一个公式来生成一个字符串,该字符串包含两个数据集中匹配的单元格值,其中 ID 匹配。

由于第二个数据集不一定有第一个数据集的每个项目的匹配信息,我只想为第二个数据集的每个项目生成字符串。

下面是一个简化示例的屏幕截图,详细说明了我想要实现的目标:

我查看了 VLOOKUP、INDEX、MATCH,但我不确定是否或如何通过这些找到我想要的解决方案。

如果有人能帮助我指出正确的方向,我将不胜感激。

【问题讨论】:

    标签: excel indexing match vlookup


    【解决方案1】:

    这应该做你想做的事。如果表 1 和表 2 中的记录相同,则返回 Value unchanged,如果记录仅存在于表 2 中而表 1 中不存在,则返回 Value not in original table。如果您需要更改此行为,请告诉我。

    =IFNA(IF(E2=INDEX($B$2:$B$7,MATCH(D2,$A$2:$A$7,0)),"Value unchanged", "Record "&D2&" changed from "&E2&" to "&INDEX($B$2:$B$7,MATCH(D2,$A$2:$A$7,0))),"Value not in original table")
    

    【讨论】:

      【解决方案2】:

      我会在 set 2 中添加另一列,这是一个 vlookup 以查看是否在 set 1 中找到了 ID。

      F 列的公式:

          Cell F2: =IFERROR(VLOOKUP(D2,A:B,2,FALSE),"not found")
      

      那么,这是 G 列的公式:

          Cell G2: =IF(F2="not found","Record "&D2&" not found in first set",IF(E2<>F2,"Record "&D2&" changes from "&F2&" to "&E2,"Record " &D2& " does not change"))
      

      【讨论】:

        【解决方案3】:

        这满足给定的简要说明,但假设如果 ID 存在,则它已更改名称。

        公式是单元格 G2 是

        =IF(ISERROR(MATCH(D2,$A$2:$A$6,0)),"","Record " & D2 & " changes from " & INDEX($B$2:$B$6,MATCH(D2,$A$2:$A$6,0))) & " to " & E2
        

        【讨论】:

          猜你喜欢
          • 2014-04-27
          • 1970-01-01
          • 2017-12-23
          • 1970-01-01
          • 2021-04-22
          • 2022-01-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多