如何从串联号码中检索 6 位数字?

How can I retrieve 6 digits from within my concatenated numbers?

我有一个用连字符分隔的数字列表。格式和长度始终相同。示例:

65-09-27-542400-6147

我想检索第三个连字符后的 6 位数字。使用上面例子中的数据,结果是:

542400

我的公式只能检索第一个连字符后的数字。使用上面的例子,这将是 09:

=IFERROR(MID(A1,SEARCH("-*-",A1)+1,SEARCH("-",SUBSTITUTE(A1,"-","^",1))-SEARCH("-*-",A1)-1),"")

如何调整当前公式以检索第三个连字符后的 6 位数字?

使用SPLIT()函数。

=INDEX(TRANSPOSE(SPLIT(A1,"-")),4)

您也可以试试:

=regexextract(A1,"\d{6}")

我认为最简单和最有效的方法是使用 MID 函数,如果它们都是完全正确的格式:

=mid(A1,10,6)