【问题标题】:Match two columns when one column has fewer entries than the other in Excel当 Excel 中一列的条目数少于另一列时,匹配两列
【发布时间】:2014-04-19 02:40:37
【问题描述】:

我有一列,Column1,块 ID 号。

我还有另一列,Column2,块 ID 号。

这两列不完全匹配。 Column2 中的行数少于 Column1 中的行数。 Column2 中的某些数字不在 Column1 中,反之亦然。

我想匹配这些列。还有其他与 Column1 相对应的列,当它与 Column2 匹配时,我想“关注”Column1。匹配后,我希望 Column1 中的很多值是不匹配的。

我怎样才能以这种方式匹配它们?我希望 Column1 和 Column2 匹配,并且与 Column1 关联的其他列在它与 Column2 匹配时跟随它。

编辑:例如:

这就是我现在拥有的:

Column1....Column2....Column3....Column4

......4............4......B...... .........馅饼

............5..................C...... .........蛋糕

............6............8......Z...... .........饼干

.............8............11......G...... .......沼泽

......11.......................D....... ........天空

......12.......................E....... ........乐

这就是我想要的:

Column1....Column2....Column3....Column4

......4............4......B...... .........馅饼

......5.......................C...... ..........蛋糕

......6.......................Z...... ..........饼干

............8............G...... .........沼泽

......11.............11......D...... .....天空

......12.......................E....... ........乐

.......................7........ …………

所以 Column1 匹配 Column2、Column3 和 Column4 与 Column1 “保持”,并且任何不匹配都被赋予它们自己的行或其他东西。请注意,Column2 是唯一“移动”的。因为 Column2 的条目比 Column1 少,而且 Column2 中的某些数字不在 Column1 中,所以简单的排序不会进行。

这有帮助吗?很抱歉有任何混淆。感谢您的帮助。

【问题讨论】:

  • 也许澄清“匹配?”可以通过显示一些示例数据来实现。此外,如果您有 Access 或类似的可用工具,您可能会比原生 Excel 更容易。
  • 我对原始帖子进行了编辑。感谢您指出困惑。我希望这会有所帮助。
  • 好吧,你问的更清楚了。尺度是多少? 100 行还是 100k?这是一次性的事情还是需要经常做?
  • 一次性任务。 Column1 有 3k 行。 Column2 有 1.7k 行。我还有希望吗?有人建议我使用数据透视表,但我不知道如何使用数据透视表来完成这项任务。

标签: excel excel-2010


【解决方案1】:

这是一个过程。不是自动化的,但也不是特别复杂。

  1. 在第 2 列之后插入一个新列——我们称之为 ColumnC。将此公式放在列中:

    =IFERROR(VLOOKUP(A1,B:B,1,FALSE),"")

    这将为在 Column2 中匹配的任何行复制 Column1。

  2. 在 ColumnC 之后插入另一个新列——我们将其称为 ColumnD。将此公式放在列中:

    =IF(IFERROR(VLOOKUP(B1,A:A,1,FALSE),"")="",IF(B1="","",B1),"")

    这将为 Column1 中不匹配的任何行复制 Column2。

  3. 选择列 C 和 D 中的所有单元格。复制它们。特别将值粘贴回相同的单元格。

  4. 选择 ColumnD 中的所有单元格,将它们复制到剪贴板,然后将它们粘贴到所有现有行下方的 ColumnC 中。
  5. 删除列D
  6. 删除 Column2 并将 ColumnC 重命名为 Column1(如果您真的关心列标题)。
  7. 删除所有空白行。

瞧!

我确信 Excel 专家可以做得更好,但我认为这对于 1 次或手动可重复的过程非常简单。

【讨论】:

  • 嘿,真漂亮!我认为它完成了所需的一切。很抱歉我的延迟回复;学期末对我来说很艰难,我不得不推迟尝试。不过非常感谢!
  • @rdoge 不用担心延迟。我很高兴它成功了。然后,自定义会让您投票并接受答案。
  • 我没有足够的声望来投票,但你已被接受。对于那个很抱歉。再次感谢您的宝贵时间。
猜你喜欢
  • 2022-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-11
  • 1970-01-01
相关资源
最近更新 更多