2

У меня есть текстовый столбец в Excel, полный шестнадцатеричных значений, как это:

0000000000000c10
00000000000036f0
00000000000274da
00000000000379e0

Какая функция может помочь мне убрать первые 0 до первого отличного от 0 символа? Желаемый результат:

c10
36f0
274da
379e0

Это поможет мне скормить функцию HEX2DEC.

2 ответа2

3

Другой подход заключается в преобразовании в десятичную, а затем обратно. Функция рабочего листа HEX2DEC будет принимать только 10 цифр / символов в качестве входных данных, но RIGHT позаботится об этом. Мгновенное преобразование обратно с помощью DEC2HEX (оставляя необязательный параметр [ place ] вне уравнения) должно привести к усеченному значению HEX.

           От шестнадцати до шестнадцатеричных

Формула в B1 имеет вид

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

Заполните при необходимости. Функция DEC2HEX может дополнять начальные нули до 10 позиций, но если вам нужно, чтобы начальные нули возвращались максимум для 16-значных заполнителей, тогда

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

3

Хорошо, нашел это.

Предполагая, что значения находятся в таблице, а ее столбец называется "Column1":

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

Это даст желаемый результат, как показано в вопросе.

Суть решения обрабатывается этой формулой, которая считает 0 перед текстовым значением, которое мы ищем.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .