Excel-查找表中的值并根据以前的数据填充空白单元格
我有下表,其中第一列中的每个ID在第二列中都有一个对应的结果,不管怎样,在大多数情况下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水果
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()
中,以防止不必要的计算发生
还有更多的方法……)你的意思是第二列被部分填充,你会自动填充空白单元格,而不改变已经填充的单元格?简单的VLoopUp应该做到这一点,除非我丢失了一些东西。只需确保查找表分别列出IDS并重复值。是否意味着第二列被部分填充,并且您会自动填写空白单元格,而不必更改已填充的单元格?如果没有缺失,简单的VLoopUp应该做到这一点。只要确保您的查找表单独列出ID并重复值就可以了。如果您的语句“基于以前的数据”真的是您的意思,那么简单的vlookup应该比@Qharr states更简单。哦,公式可能很有趣:)+但是对于上面的内容!它甚至可以简单得多,如果您的声明“基于以前的数据”真的是您的意思,那么一个简单的vlookup应该比@Qharr states更简单。哦,公式可能很有趣:)+但是对于上面的内容!