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

时间:2019-02-23 12:23:46

标签: excel vba vlookup

我有一张下表,其中第一列中的每个ID在第二列中都有对应的果实,无论如何大部分都是如此。

<pre><strong>ID      Fruit</strong><hr>
142     Apple<br>
223     Banana<br>
342     Lemon<br>
223<br>
142     Apple<br>
342<br>
142<br>
462     Apple<br>

我希望根据第一列中的ID自动填充“水果”列中的空白单元格。要增加一个转折,每个ID只能附加一个水果,但是一个水果可以具有多个ID(例如,Apple可以具有ID 142和462,而142只能具有APPLE作为值)。

起初,这似乎是一个非常简单的问题,但我似乎无法弄清楚。我已经尝试过IF,VLOOKUP和INDEX&MATCH,但是这些代码都没有用,所以我没有任何内容可以显示我的位置,因为到目前为止我什么都没有。

同时,我也正在探索使用VBA的解决方案,尽管我不太熟悉它,所以可能要花一些时间。

谢谢。

1 个答案:

答案 0 :(得分:1)

C2中,此公式应该起作用,并将其向下拖动:

{=INDEX($B$2:$B$9,MATCH(1,(A2=$A$2:$A$9)*($B$2:$B$9<>0),0))}

注意:这是一个数组函数!

为方便起见,使用=AGGREGATE()的另一个选择是:

=IF(B2=0,INDEX($B$1:$B$9,AGGREGATE(15,3,((($A$1:$A$9=A2)/($A$1:$A$9=A2))*(($B$1:$B$9<>0)/($B$1:$B$9<>0)))*ROW($A$1:$A$9),1)),B2)

注意:它被包裹在=IF()中,以防止不必要的计算

还有更多方法……。 :)