如果另一个列中的值不等于零,则返回该列下的值

时间:2019-06-20 17:50:27

标签: vba excel-formula

因此,基本上我需要做的是,如果G列下的值不为零,则将E列中的值返回给I列。我能够将G列下的所有非零值返回到K列,但是我不确定是否可以将E列和F列下的对应值检索到I和J。

这是可以通过公式完成的操作,还是必须使用VBA?

感谢任何见解!我在此处附上了示例:

enter image description here

1 个答案:

答案 0 :(得分:0)

如果您不担心G列上的重复项,则应该可以结合使用INDEX()和MATCH():

=INDEX(E$1:E$7,MATCH($K1,$G$1:$G$7,0))

如果您对重复值有疑问,请使用以下数组公式(在编辑公式后按Ctrl + Shift + Enter)。

对于单元格I1,使用以下命令(将其拖动到单元格J1和K1):

=+INDEX(E$1:E$8,MATCH(TRUE,INDIRECT("g"&1+1):$G$8>0,0))

接下来,将以下公式复制到单元格I2上,并将其向下和向右拖动:

=+INDEX(E$1:E$8,MATCH(TRUE,INDIRECT("g"&MATCH(I1,E$1:E$8)+1):$G$8>0,0)+MATCH(I1,E$1:E$8))