VLOOKUP in excel -
lets have 3 columns
a b c 1 8 0 2 9 0.3 3 15 0.1 4 16 0.01 5 17 0.02 6 18 0.05
i need find values in column c greater 0.1 , less -0.1. can using conditional format tab. once these values found need find corresponding values in column , using values need find values in column b in difference between values in column , column b less 8. example, lets take 0.3 in column c, corresponding value in column 2. looking @ values in column b see 8-2<8, need print in column d. need print 9-2 since less 8. should not print 15-3 since value greater 8. know need use vlookup lost on how proceed . please me out?
a b c d 1 8 0 2 9 0.3 6,7 3 15 0.1 4 16 0.01 5 17 0.02 6 18 0.05
output sample second row 6,7. way 6,7 follows. since in column c 0.3> 0.1 0.1 defined us(conditional format) , take values column b. each value in column b subtracted column a(we take absolute value after subtraction) . example 0.3 , corresponding value in column 2. subtract each , every value in column b. 2-8,2-9,2-15,2-16,2-17,2-18 , on. these values choose values less 8(defined again). 2 values 6,7 since absolute value of else greater 8. print value in column d.
it's confusingly written question, think understand you're asking for. put cell d1 , fill down:
=if(and(or(c1>0.1,c1<-0.1),len(if(not(iserror(match(a1,$b$1:$b$6,0))),"0,","")&if(not(iserror(match(a1+1,$b$1:$b$6,0))),"1,","")&if(not(iserror(match(a1+2,$b$1:$b$6,0))),"2,","")&if(not(iserror(match(a1+3,$b$1:$b$6,0))),"3,","")&if(not(iserror(match(a1+4,$b$1:$b$6,0))),"4,","")&if(not(iserror(match(a1+5,$b$1:$b$6,0))),"5,","")&if(not(iserror(match(a1+6,$b$1:$b$6,0))),"6,","")&if(not(iserror(match(a1+7,$b$1:$b$6,0))),"7,",""))>1),left(if(not(iserror(match(a1,$b$1:$b$6,0))),"0,","")&if(not(iserror(match(a1+1,$b$1:$b$6,0))),"1,","")&if(not(iserror(match(a1+2,$b$1:$b$6,0))),"2,","")&if(not(iserror(match(a1+3,$b$1:$b$6,0))),"3,","")&if(not(iserror(match(a1+4,$b$1:$b$6,0))),"4,","")&if(not(iserror(match(a1+5,$b$1:$b$6,0))),"5,","")&if(not(iserror(match(a1+6,$b$1:$b$6,0))),"6,","")&if(not(iserror(match(a1+7,$b$1:$b$6,0))),"7,",""),len(if(not(iserror(match(a1,$b$1:$b$6,0))),"0,","")&if(not(iserror(match(a1+1,$b$1:$b$6,0))),"1,","")&if(not(iserror(match(a1+2,$b$1:$b$6,0))),"2,","")&if(not(iserror(match(a1+3,$b$1:$b$6,0))),"3,","")&if(not(iserror(match(a1+4,$b$1:$b$6,0))),"4,","")&if(not(iserror(match(a1+5,$b$1:$b$6,0))),"5,","")&if(not(iserror(match(a1+6,$b$1:$b$6,0))),"6,","")&if(not(iserror(match(a1+7,$b$1:$b$6,0))),"7,",""))-1),"")
it's long formula, it's same core formula written 3 times (once determine length of string, once return , once more remove trailing ",").
i've assumed values positive , meant >0.1 rather >=0.1 (you inconsistent on latter point per comment on question).
you can change range include more rows or entire column if wish.
a shorter version leave "," @ end of final value (just ease of understanding on how works):
=if(or(c1>0.1,c1<-0.1),if(not(iserror(match(a1,$b$1:$b$6,0))),"0,","")&if(not(iserror(match(a1+1,$b$1:$b$6,0))),"1,","")&if(not(iserror(match(a1+2,$b$1:$b$6,0))),"2,","")&if(not(iserror(match(a1+3,$b$1:$b$6,0))),"3,","")&if(not(iserror(match(a1+4,$b$1:$b$6,0))),"4,","")&if(not(iserror(match(a1+5,$b$1:$b$6,0))),"5,","")&if(not(iserror(match(a1+6,$b$1:$b$6,0))),"6,","")&if(not(iserror(match(a1+7,$b$1:$b$6,0))),"7,",""),"")
Comments
Post a Comment