通过唯一索引查找列之间的最接近匹配

时间:2019-04-10 13:18:55

标签: excel excel-formula

我需要一些有关Excel中公式的帮助。我尝试在给定一些唯一索引的情况下遍历不同列中的一系列值。

在此先感谢您的支持!

我有以下数据:

表1包含GoodNumber(GN),购买价格,参考价格的列。

GN | Purchase Price | Reference Price (?)    
E | 2,36 |    
C |4,25 |    
F | 9,3 |    
A   | 1,2   |    
B | 7,63    |    
D   |5,47   | 

表2包含具有每个GN不同市场价格的GoodNumber列表(表1中的GN对应于表2中的GN):

GN |    Market Prices    
A | 2,99    
B | 1,49    
B | 2,99    
B | 5,97    
B | 5,97    
B | 2,99    
B | 2,24    
B | 2,99    
C | 3,73    
C | 6,72    
C | 5,22    
C | 5,97    
D | 0,75    
D | 2,99    
E | 3,73    
E | 5,22    
E | 6,72    
E | 2,24    
E | 4,48    
E | 5,22    
E | 6,72    
F | 1,49    
F | 6,72    
F | 2,99    
F | 2,99

我想找到应该是的“参考价”:

    给定某些独特的GN(来自表1),只有在任何市场价格>购买价格时,
  1. 购买价格(表1)和市场价格(表2)之间的最接近匹配。

  2. 如果不满足条件,则返回“参考价格N / A”(市场价格>购买价格)。

在这种情况下的结果应该如下:

GN | Purchase Price | Reference Price (?)    
E | 2,36 | 3,73    
C |4,25 | 5,22    
F | 9,3 | Reference Price N/A    
A   | 1,2   | 2,99    
B | 7,63    | Reference Price N/A    
D   |5,47   | Reference Price N/A

1 个答案:

答案 0 :(得分:0)

如果您拥有Office 365 excel,请使用MINIFS:

=MINIFS(H:H,H:H,">="&B2,G:G,A2)

这将返回0而不是Reference Price N/A,但是如果需要,您可以将其放在IF中以实现此目的:

=IF(MINIFS(H:H,H:H,">="&B2,G:G,A2),MINIFS(H:H,H:H,">="&B2,G:G,A2),"Reference Price N/A")

enter image description here


如果您没有Office 365 Excel,则使用AGGREGATE:

=IFERROR(AGGREGATE(15,7,$H$2:$H$26/(($H$2:$H$26>=B2)*($G$2:$G$26=A2)),1),"Reference Price N/A")

注意AGGREGATE是一个数组类型公式,因此,引用的数据应限于数据集,而MAXIFS允许使用完整的列引用。

enter image description here