在Excel中将条件零添加到ssn样式编号

试图将有条件的零添加到Excel中的ssn样式编号。

1234-1234-12 -> 12340-1234-12 12345-123-12 -> 12345-1230-12 12345-1234-1 -> 12345-1234-10 12345-1234-12 -> do nothing 

您将需要parsing每个部分,然后确保它是所需数量的数字并将其连接在一起:

 =LEFT(LEFT(A1,FIND("-",A1)-1)&"00000",5)&"-" & LEFT(MID(A1,FIND("-",A1)+1,FIND("-",A1,FIND("-",A1)+1)-FIND("-",A1)-1)&"0000",4)&"-"&LEFT(MID(A1,FIND("-",A1,FIND("-",A1)+1)+1,LEN(A1))&"00",2) 

在这里输入图像说明

如果你想要一个VBA答案补充@ scottcraner的优秀答案:

 Function ExpandSSN(s As String) As String Dim A As Variant Dim part As String A = Split(s, "-") part = Trim(A(0)) A(0) = part & String(5 - Len(part), "0") part = Trim(A(1)) A(1) = part & String(4 - Len(part), "0") part = Trim(A(2)) A(2) = part & String(2 - Len(part), "0") ExpandSSN = Join(A, "-") End Function 

把上面的代码放在一个标准的代码模块中。 然后在B1中input公式eg =ExpandSSN(A1)并向下拖动:

在这里输入图像描述