Index-Match公式返回第一个非空白匹配

时间:2018-01-31 00:12:59

标签: excel vba excel-vba excel-formula

我正在尝试编写索引匹配公式以应用于以下场景:

 1  Column A       Column B        Column C
 2   Duck                           123ABC 
 3   Goose           .5             123ABC
 4   Duck                           456DEF
 5   Duck                           456DEF
 6   Goose           .9             456DEF

公式公式将仅通过VBA宏放在空白行的B列中。我正在使用以下公式:

=INDEX($B$1:$B$6),MATCH(C2,$C$2:$C:6,0))

我们的想法是结果数据集如下所示:

 1  Column A       Column B        Column C
 2   Duck            .5             123ABC 
 3   Goose           .5             123ABC
 4   Duck            .9             456DEF
 5   Duck            .9             456DEF
 6   Goose           .9             456DEF

为了达到这个目的,我可以看到两种可能的选择:

  1. 如果查找找到要返回的“空白”单元格,则公式中的条件不返回值。它需要继续查找,直到找到一个值(一个数字)。

  2. 如果列A显示“Goose”,则具有作为查找一部分的条件,该条件仅返回匹配(在A列中,具有值的行总是具有“Goose”的情况。 / p>

  3. 我在网上研究但找不到有效的方法。

1 个答案:

答案 0 :(得分:0)

我能够自己解决这个问题。以下数组公式完成了我上面描述的内容:

=INDEX($B$1:$CB$6,MATCH(1,INDEX(($C$1:$C$6=C2)*($B$1:$B$6<>""),0),0))
相关问题