Excel:如何使用函数删除字符串的前导字符?

Excel:如何使用函数删除字符串的前导字符?

Excel 中有一个文本列,其中充满了十六进制值,如下所示:

0000000000000c10
00000000000036f0
00000000000274da
00000000000379e0

哪个函数可以帮助我删除前导 0 直到第一个非 0 字符?所需输出:

c10
36f0
274da
379e0

这将帮助我提供 HEX2DEC 函数。

答案1

另一种方法是先转换为十进制,然后再转换回来。HEX2DEC工作表函数只接受 10 位数字/字符作为输入,但RIGHT会处理这个问题。立即转换回来DEC2HEX(同时保留可选的[地点]参数超出方程的范围)应导致修剪后的十六进制值。

           十六进制 (HEX) 转十进制 (DEC)

B1 中的公式是,

=DEC2HEX(HEX2DEC(RIGHT(A1,10)))

根据需要填充。该DEC2HEX函数可以将前导零填充至多 10 位,但如果您需要将前导零填充回最多 16 位占位符,那么

=RIGHT(REPT(0, 16)&B1, 16)

答案2

好的,找到了。

假设值位于表中,并且其列名为“Column1”:

=REPLACE([@Column1],1,FIND(LEFT(SUBSTITUTE([@Column1],"0","")),[@Column1])-1,"")

这将产生如问题所示的所需输出。

解决方案的核心由该公式处理,它计算我们要查找的文本值之前的 0。

=FIND(LEFT(SUBSTITUTE([@Column1],"0","")),[@Column1])-1

相关内容