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

Posted

技术标签:

【中文标题】Excel - 在表格中查找值并根据以前的数据填充空白单元格【英文标题】:Excel - Lookup values in table and fill blank cells based on previous data 【发布时间】:2019-02-23 12:23:46 【问题描述】:

我有下表,其中第一列中的每个 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 的解决方案,虽然我对它不是很熟悉,所以可能需要一段时间。

提前致谢。

【问题讨论】:

你的意思是说第二列被部分填满了,你自动要填充空白单元格,而不改变已经填满的单元格吗? 一个简单的 vlookup 应该可以做到这一点,除非我遗漏了什么。只需确保您的查找表单独列出 id 并重复值即可。 【参考方案1】:

C2 中,这个公式应该有效,然后将其向下拖动:

=INDEX($B$2:$B$9,MATCH(1,(A2=$A$2:$A$9)*($B$2:$B$9&lt;&gt;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&lt;&gt;0)/($B$1:$B$9&lt;&gt;0)))*ROW($A$1:$A$9),1)),B2)

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

还有更多方法…… :)

【讨论】:

它甚至可以更简单,如果您的陈述“基于以前的数据”真的是您的意思,那么简单的 vlookup 应该比@Qharr 状态更简单。哦,公式可以很有趣:) + 用于上述内容!

以上是关于Excel - 在表格中查找值并根据以前的数据填充空白单元格的主要内容,如果未能解决你的问题,请参考以下文章

Excel查找指定列数据值并整行引用到其它表

excel怎_设定可以根据数字自动变填充颜色??

excel中怎样根据给出的条件查找对应名称表格中的数据?

Excel表格如何实现根据数值自动填充不同的颜色

excel表格怎么勾选颜色填充

VBS,怎样根据内容来查找excel中对应的位置?