【问题标题】:Matching Column B with A, and then sorting B with its expanded selection将 B 列与 A 匹配,然后使用其扩展选择对 B 进行排序
【发布时间】:2017-06-26 15:37:38
【问题描述】:

我必须要数据集。

第一组只是一堆ID。

第二组是同一组 ID 以及与每个 ID 相关的其他数据。

但第二组 ID 的顺序与第一组不同。

那么如何让第二组以与第一组相同的顺序匹配,并对与之相关的项目进行排序?

所以,这里是一个未排序的例子:

我需要从那得到以下内容:

任何人都知道最简单的方法,请记住第二组必须与其关系一起排序?

JH

【问题讨论】:

  • 您可以只突出显示第二个数组并对其进行排序。
  • 我不想按字母顺序排序。我想完全按照它在 A 列中显示的排序。在我的示例中它是按字母顺序排列的,但实际上,A 列不是按字母顺序排列的。
  • 在第一个上创建一个映射,使所有 alphas = 1,所有 betas = 2,依此类推。通过查找将该映射附加到第二个表,然后按附加的 ID 排序。
  • 遗憾的是,我对 excel 或公式不太熟悉。有什么解释吗?
  • 当然 - 它超出了评论的范围。我会发布一个答案,给我大约 5 分钟

标签: excel sorting vlookup


【解决方案1】:

首先,我不知道您是否在第一个或第二个中有任何重复的 ID,但无论如何我们都会覆盖它们。

首先,创建一个枚举来保存您在第一个表中的排序顺序。

 =IF(ROW(A2)=2,1,IF(B2=B1,A1,A1+1))

这基本上只是保持你的顺序。如果它是您使用的第一行,则给它一个 1。如果当前行上的 ID 与前一行相同(a3 = alpha,a2 = alpha),则保留之前的 ID(以便枚举重复项)同样)。否则,增加 ID。

然后,在您的另一张桌子上,带上您使用查找公式创建的 ID - 索引匹配,vlookup 都可以。

=INDEX($A$2:$A$5, MATCH(E2, $B$2:$B$5, 0))

最后,只需对第二个表中的新查找列进行排序即可。

或者,您可以省略枚举它们的第一步,只需在表 2 ID 上使用 MATCH 到表 1 ID,它将返回它所在的行位置。

=MATCH(id in second table, <array of IDs in first table>, 0)

然后您可以根据它进行排序。以一种或另一种方式进行操作可能更直观,也可能更直观。

【讨论】:

  • 我不确定我是否理解这一点,但我会尝试尝试一下,看看它是否有效。非常感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-14
  • 2015-03-05
  • 2018-10-08
  • 2011-12-03
  • 2013-08-27
  • 2013-11-07
相关资源
最近更新 更多