Excel 匹配和重新排列

Excel 匹配和重新排列

对于我无法完成的一项具体任务,我将非常感激您的帮助。

A 列和 B 列中有特定的 ID 信息。A 列中的每个 ID 都与 B 列中的 ID 相连并相对应。CI 列中有一组(可能)与 B 列相同的 ID,但是以不同的顺序混合在一起。在这种情况下,C 列中的每个 ID 都与同一行(D 列和 E 列)中的信息相连并相对应。首先,我需要将 B 列中的 ID 与 C 列中的 ID 进行匹配(假设可能存在差异)。其次,我需要重新排列 B 列中每行的 ID 以连接到 C 列中的相应 ID(两个匹配的 ID 都在同一行)。但是,我仍然需要将 A 列和 B 列的 ID 相互连接起来,因为我的最终目标是将 D 列和 E 列的信息连接到 A 列的 sus. ID。您能否根据当前可用的信息帮我理清这个问题?

在此处输入图片描述

答案1

这看起来就像是两组独立的(相关)数据,但是通过将它们放在一起,将使很多事情变得更加困难,因为 Excel 会假定它是一个数据范围。

我建议在 B 和 C 之间插入两列,这样 C 就变成了 E,这样你就有空间放置新公式和空白列来分隔内容。在新的空白列 C 中,添加此公式并向下复制:

=MATCH($B2,$C$2:$C$9999,0) (or however long column C is)

根据 C 列对 A:C 列进行排序,数据将排列在 B 和 E 列中。这假设 B 中的每个值也位于 E 中,反之亦然。如果不是这种情况,您将需要一些更巧妙的方法。您可以在左侧而不是中间插入一列,并将此公式放在新的 A 列中,但在对数据进行排序时要小心,只重新排列 A 到 C 列。

答案2

如果我理解正确的话,这可以看作是一个排序问题:

  • 分成两个表(前两列和后三列)
  • 对第一个表进行排序,使 B 列与 C 列的顺序相同
    • XMATCH该订单将由函数返回
  • 重新合并两个表

假设您的标签没有版本约束,并且假设您的数据是命名的,Table因此Table_1我们可以使用结构化引用,您可以使用单个公式执行此操作,结果将SPILL输出范围

=VSTACK(Table_1[#Headers],
                HSTACK(
                      SORTBY(CHOOSECOLS(Table_1,1,2), XMATCH(Table_1[ac. ID],Table_1[ac. ID v2])),
                      CHOOSECOLS(Table_1,3,4,5)))

在此处输入图片描述

相关内容