我已经完成了公式的工作,一切工作都很好,但要点是,我必须弄乱嵌套的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),""))