我需要将公式转换为VBA代码

时间:2019-05-27 17:37:36

标签: excel vba excel-formula

我已经完成了公式的工作,一切工作都很好,但要点是,我必须弄乱嵌套的if公式,并且数组要大很多,所以我需要做的一切要做的是在Excel-VBA宏中的(J3,K3,L3)中转换我的公式并填充值。我已经尝试过一些东西,但是我不是教授。在VBA编码中。

https://www.dropbox.com/s/4svv819y1o4s284/FormultoVBA.xlsx?dl=0 J3中的公式:

=IF(AND(INDEX(B3:I3,MATCH(TRUE,INDEX((B3:I3<>0),0),0))-
          INDEX(B3:I3,MATCH(TRUE,INDEX((B3:I3<>0),0),0)+1)>=-0.1,
       INDEX(B3:I3,MATCH(TRUE,INDEX((B3:I3<>0),0),0))-
          INDEX(B3:I3,MATCH(TRUE,INDEX((B3:I3<>0),0),0)+1)<=0.1),
       INDEX(B3:I3,MATCH(TRUE,INDEX((B3:I3<>0),0),0)),
          IF(AND(INDEX(B3:I3,MATCH(TRUE,INDEX((B3:I3<>0),0),0)+2)-
          INDEX(B3:I3,MATCH(TRUE,INDEX((B3:I3<>0),0),0)+3)>=-0.1,
       INDEX(B3:I3,MATCH(TRUE,INDEX((B3:I3<>0),0),0)+2)-
          INDEX(B3:I3,MATCH(TRUE,INDEX((B3:I3<>0),0),0)+3)<=0.1),
       INDEX(B3:I3,MATCH(TRUE,INDEX((B3:I3<>0),0),0)+2),""))

K3中的公式:

=IF(AND(INDEX(B3:I3,MATCH(TRUE,INDEX((B3:I3<>0),0),0))-INDEX(B3:I3,MATCH(TRUE,INDEX((B3:I3<>0),0),0)+1)>=-0.1,INDEX(B3:I3,MATCH(TRUE,INDEX((B3:I3<>0),0),0))-INDEX(B3:I3,MATCH(TRUE,INDEX((B3:I3<>0),0),0)+1)<=0.1),INDEX(B3:I3,MATCH(TRUE,INDEX((B3:I3<>0),0),0)+1),IF(AND(INDEX(B3:I3,MATCH(TRUE,INDEX((B3:I3<>0),0),0)+2)-INDEX(B3:I3,MATCH(TRUE,INDEX((B3:I3<>0),0),0)+3)>=-0.1,INDEX(B3:I3,MATCH(TRUE,INDEX((B3:I3<>0),0),0)+2)-INDEX(B3:I3,MATCH(TRUE,INDEX((B3:I3<>0),0),0)+3)<=0.1),INDEX(B3:I3,MATCH(TRUE,INDEX((B3:I3<>0),0),0)+3),""))

L3中的公式:

=IF(AND(INDEX(B3:I3,MATCH(TRUE,INDEX((B3:I3<>0),0),0))-INDEX(B3:I3,MATCH(TRUE,INDEX((B3:I3<>0),0),0)+1)>=-0.1,INDEX(B3:I3,MATCH(TRUE,INDEX((B3:I3<>0),0),0))-INDEX(B3:I3,MATCH(TRUE,INDEX((B3:I3<>0),0),0)+1)<=0.1),INDEX(B2:I2,MATCH(TRUE,INDEX((B3:I3<>0),0),0)),IF(AND(INDEX(B3:I3,MATCH(TRUE,INDEX((B3:I3<>0),0),0)+2)-INDEX(B3:I3,MATCH(TRUE,INDEX((B3:I3<>0),0),0)+3)>=-0.1,INDEX(B3:I3,MATCH(TRUE,INDEX((B3:I3<>0),0),0)+2)-INDEX(B3:I3,MATCH(TRUE,INDEX((B3:I3<>0),0),0)+3)<=0.1),INDEX(B2:I2,MATCH(TRUE,INDEX((B3:I3<>0),0),0)+2),""))

0 个答案:

没有答案