
Originally Posted by
Andrew-R
Damn you, Ron, I was busy working out my own formula solution.
Admittedly mine wasn't *quite* as compact as yours:
=IF(SUMPRODUCT(--(ISNUMBER(VALUE(MID(A5,ROW(INDIRECT("1:" & LEN(A5))),1)))))<3,A5,IF(MID(A5,LEN(A5)-FIND("1",TEXT(SUMPRODUCT(--(ISNUMBER(VALUE(MID(A5,ROW(INDIRECT("1:" & LEN(A5))),1))))*10^ROW(INDIRECT("1:" & LEN(A5)))),REPT("0",LEN(A5))))+1,1)<>"3",A5,IF(MID(A5,LEN(A5)-FIND("~",SUBSTITUTE(TEXT(SUMPRODUCT(--(ISNUMBER(VALUE(MID(A5,ROW(INDIRECT("1:" & LEN(A5))),1))))*10^ROW(INDIRECT("1:" & LEN(A5)))),REPT("0",LEN(A5))),"1","~",2))+1,1)<>"1",A5,IF(MID(A5,LEN(A5)-FIND("~",SUBSTITUTE(TEXT(SUMPRODUCT(--(ISNUMBER(VALUE(MID(A5,ROW(INDIRECT("1:" & LEN(A5))),1))))*10^ROW(INDIRECT("1:" & LEN(A5)))),REPT("0",LEN(A5))),"1","~",3))+1,1)<>"3",A5,IF(MID(A5,LEN(A5)-FIND("~",SUBSTITUTE(TEXT(SUMPRODUCT(--(ISNUMBER(VALUE(MID(A5,ROW(INDIRECT("1:" & LEN(A5))),1))))*10^ROW(INDIRECT("1:" & LEN(A5)))),REPT("0",LEN(A5))),"1","~",3))+2,1)="S",A5,IF(FIND("~",SUBSTITUTE(TEXT(SUMPRODUCT(--(ISNUMBER(VALUE(MID(A5,ROW(INDIRECT("1:" & LEN(A5))),1))))*10^ROW(INDIRECT("1:" & LEN(A5)))),REPT("0",LEN(A5))),"1","~",3))-FIND("~",SUBSTITUTE(TEXT(SUMPRODUCT(--(ISNUMBER(VALUE(MID(A5,ROW(INDIRECT("1:" & LEN(A5))),1))))*10^ROW(INDIRECT("1:" & LEN(A5)))),REPT("0",LEN(A5))),"1","~",2))<3,A5,LEFT(A5, LEN(A5)-FIND("~",SUBSTITUTE(TEXT(SUMPRODUCT(--(ISNUMBER(VALUE(MID(A5,ROW(INDIRECT("1:" & LEN(A5))),1))))*10^ROW(INDIRECT("1:" & LEN(A5)))),REPT("0",LEN(A5))),"1","~",3))) & "9" & MID(A5,LEN(A5)-FIND("~",SUBSTITUTE(TEXT(SUMPRODUCT(--(ISNUMBER(VALUE(MID(A5,ROW(INDIRECT("1:" & LEN(A5))),1))))*10^ROW(INDIRECT("1:" & LEN(A5)))),REPT("0",LEN(A5))),"1","~",3))+2,255)))))))
Truly you are the god of formula.
Bookmarks