在非数字单元格中添加前导零

Add leading zeros in cells with non digits

我有两个单元格需要合并为一个,但需要更新格式。一个单元格中有类别 ID,另一个单元格中有子类别 ID。 None 其中的格式设置为具有前导零,这没什么大不了的,因为我可以为此使用数字格式。问题是子类别有时会在末尾有一个字母。数字格式完全忽略这些,只留下它们。有没有 formula/combination 的公式可以用来让数据看起来像这样?

Category Subcat Output
1 1 01-01
4 12 04-12
21 1 21-01
21 1b 21-01b

编辑

对之前的回答感到抱歉。这个是正确的

=ArrayFormula(IF(A2:A<>"", IF(LEN(A2:A)=1,"0"&A2:A,A2:A)&"-"&IF(REGEXMATCH(B2:B&"","^\d{1}$|^\d{1}\D")=TRUE,"0"&B2:B,B2:B),""))

错误(你可以用这个)

=ArrayFormula(IF(A2:A<>"", IF(LEN(A2:A)=1,"0"&A2:A,A2:A)&"-"&IF(LEN(B2:B)=1,"0"&B2:B,B2:B),""))

尝试:

=IF(ISNUMBER(A2), TEXT(A2,"00"), TEXT(LEFT(A2,LEN(A2)-1),"00")&RIGHT(A2))&"-"&IF(ISNUMBER(B2), TEXT(B2,"00"), TEXT(LEFT(B2,LEN(B2)-1),"00")&RIGHT(B2))

然后将其粘贴到 C 列的每个单元格中

尝试:

=INDEX(IFNA(TEXT(A1:A, "00-")&
 TEXT(REGEXEXTRACT(B1:B&"", "\d+"), "00")&
 IFERROR(REGEXEXTRACT(B1:B, "\D+"))))