Excel-查找表中的值并根据以前的数据填充空白单元格

Excel-查找表中的值并根据以前的数据填充空白单元格,excel,vba,vlookup,Excel,Vba,Vlookup,我有下表,其中第一列中的每个ID在第二列中都有一个对应的结果,不管怎样,在大多数情况下 ID水果 142苹果 223香蕉 342柠檬 223 142苹果 342 142 462苹果在C2中,此公式应该有效,并将其向下拖动: {=INDEX($b2:$b9,匹配(1,(A2=$A2:$a9)*($b2:$b90),0)) 注意:这是一个数组函数 为了方便起见,另一个选项使用=AGGREGATE(): =IF(B2=0,索引($B$1:$B$9),聚合(15,3,($A$1:$A$9=A2)/($

我有下表,其中第一列中的每个ID在第二列中都有一个对应的结果,不管怎样,在大多数情况下

ID水果
142苹果
223香蕉
342柠檬
223
142苹果
342
142

462苹果
C2
中,此公式应该有效,并将其向下拖动:

{=INDEX($b2:$b9,匹配(1,(A2=$A2:$a9)*($b2:$b90),0))

注意:这是一个数组函数

为了方便起见,另一个选项使用
=AGGREGATE()

=IF(B2=0,索引($B$1:$B$9),聚合(15,3,($A$1:$A$9=A2)/($A$1:$A$9=A2))*($B$1:$B$90)/($B$1:$B$90))*行($A$1:$A$9),1)),B2

注意:它被包装到一个
=IF()
中,以防止不必要的计算发生


还有更多的方法……)

C2
中,此公式应该有效,并将其向下拖动:

{=INDEX($b2:$b9,匹配(1,(A2=$A2:$a9)*($b2:$b90),0))

注意:这是一个数组函数

为了方便起见,另一个选项使用
=AGGREGATE()

=IF(B2=0,索引($B$1:$B$9),聚合(15,3,($A$1:$A$9=A2)/($A$1:$A$9=A2))*($B$1:$B$90)/($B$1:$B$90))*行($A$1:$A$9),1)),B2

注意:它被包装到一个
=IF()
中,以防止不必要的计算发生


还有更多的方法……)