【问题标题】:Excel array formula to copy value based on matching criteria within groupExcel数组公式根据组内的匹配条件复制值
【发布时间】:2020-05-21 20:14:58
【问题描述】:

我将上述数据填充到 D 列(即最高优先级列)。我正在寻找一个公式来复制 E 列中的值(E 列中的最高优先级 acc 编号是图像中显示的所需结果)。

即将最高优先级(D)与优先级(C)列匹配,其中匹配为真,复制列 E 中列帐号值的对应行。这必须应用于列中所有位置值的分组答:

我认为这将是一些寻找索引匹配数组函数的方法,但如果有人可以提供帮助,我将无法构建公式。谢谢

【问题讨论】:

  • 您好 Naresh,非常感谢您的回复。但它并不完全有效。例如根据上面第 8 行的数据,它正在复制“700 800”但它应该复制“750 091”,因为 2 是最高优先级值,并且对应的帐号。优先级列是 A_02 组中的 2“750 091”。
  • No.. E2 =IF(D2=C2,B2,INDEX($B$2:B2,MATCH(A2,$A$2:A2,0),1)) 并向下复制给出了准确的结果,如表中所示。删除评论还有另一个原因。想一想,如果位置的第一优先级不是最高优先级怎么办。例如,在 A_03 的情况下,如果您的最高优先级是 9,那么该公式将不起作用。如果每个位置的第一优先级 (Col C) 始终是最高优先级 (Col D),那么该公式将适用于所有位置
  • 另外,上面评论中的公式有一个假设,即数据按位置排序
  • 不确定我的评论是如何被删除的。无论如何。谢谢纳雷什,你完全正确。我基本上只希望这样,即如果我的最高优先级是 9,那么无论优先级列的顺序如何,它都应该获取相应的帐户值。所以基于优先级列 9 对应于 200 500 ,因为 9 是我的首要任务是我需要在 E 列中打印的值
  • 发布答案。如果有任何适合的答案,请点赞/接受它

标签: excel


【解决方案1】:

E2中的数组(Control + Shift + Enter)公式并向下复制

=INDEX($B$2:$B$10,MATCH(D2,(IF($A$2:$A$10=A2,$C$2:$C$10)),0),1)

即使数据未按位置排序,公式也可以。确保给定位置的所有行的最高优先级相同。比如说,如果您将 D7 更改为 4,那么 E7 将为 800,因为该公式将寻找 A2 位置的第 4 个优先级。

【讨论】:

  • 是的。非常感谢 Naresh 它有效。我仍然没有获得投票的选项。 :-(
  • 左边答案旁边的向上箭头。您可以选择接受答案或等待另一个更好的答案。
猜你喜欢
  • 1970-01-01
  • 2019-01-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-31
  • 2016-07-08
相关资源
最近更新 更多