Had a 4 hour long affair with Excel this morning. That bad boy sure knows how to stimulate me the right way. Here’s our baby (the algorithm used to calculate the checksum digit for a CUSIP using the Modulus 10 Double Add Double technique. Feel free to use it if needed):
First cell:
=CONCATENATE(IF(CODE(MID(A2,1,1))<58,(CODE((MID(A2,1,1)))-48)*1,((CODE(MID(A2,1,1))-55)*1)), IF(CODE(MID(A2,2,1))<58,(CODE((MID(A2,2,1)))-48)*2,((CODE(MID(A2,2,1))-55)*2)), IF(CODE(MID(A2,3,1))<58,(CODE((MID(A2,3,1)))-48)*1,((CODE(MID(A2,3,1))-55)*1)), IF(CODE(MID(A2,4,1))<58,(CODE((MID(A2,4,1)))-48)*2,((CODE(MID(A2,4,1))-55)*2)), IF(CODE(MID(A2,5,1))<58,(CODE((MID(A2,5,1)))-48)*1,((CODE(MID(A2,5,1))-55)*1)), IF(CODE(MID(A2,6,1))<58,(CODE((MID(A2,6,1)))-48)*2,((CODE(MID(A2,6,1))-55)*2)), IF(CODE(MID(A2,7,1))<58,(CODE((MID(A2,7,1)))-48)*1,((CODE(MID(A2,7,1))-55)*1)), IF(CODE(MID(A2,8,1))<58,(CODE((MID(A2,8,1)))-48)*2,((CODE(MID(A2,8,1))-55)*2)))
Second Cell:
=MID(A2,1,8)&IF(CODE(MID(SUMPRODUCT(—MID(B2,ROW(INDIRECT(“1:” & LEN(B2))),1)),2,1))-48=0,0, 10-(CODE(MID(SUMPRODUCT(—MID(B2,ROW(INDIRECT(“1:” & LEN(B2))),1)),2,1))-48))