Есть несколько проблем с формулой.
Во-первых, вы пытаетесь применить формулу к диапазону ячеек Z2:Z19497
. Вместо этого вам нужно оценить каждую ячейку отдельно, проверяя, начинается ли Z2
с нуля, Z3
начинается с нуля и так далее. Если вы добавите формулу где-то вроде ячейки AA2
, а затем заполните ее до AA19497
, вы получите список значений в столбце AA
, которые не имеют начальных нулей.
Следующая проблема находится в вашем тестовом заявлении IF
. Если мы исправим вашу формулу, чтобы посмотреть на одну ячейку, она выглядит так: RIGHT(Z2,LEN(Z2)-1)="0"
. Эта формула говорит, скажите, если все, кроме первого символа в ячейке Z2
, равно 0. См. Любую проблему с этим? Единственный раз, когда он вернет истину, - это когда у вас есть двухзначное число в ячейке Z2
, которая заканчивается на 0. В противном случае вы тестируете, если многосимвольное значение равно 0, чего не может быть.
Вместо этого давайте проверим, равен ли первый символ равным 0. Для этого давайте воспользуемся функцией LEFT
, чтобы получить первый символ. LEFT(Z2,1)="0"
Удивительно, теперь мы знаем, что первый символ равен 0 или нет.
Итак, предположим, что первый символ равен 0.Мы хотим его удалить, но как мы это сделаем? Версия вашей текущей логики для одной ячейки - MID(Z2,2,LEN(Z2))
, которая должна работать, но немного неверна. Ради полноты сделаем это. Поскольку вы удаляете первый символ ячейки Z2
, вы больше не хотите MID
использовать длину Z2
, вы хотите, чтобы она использовала длину Z2
минус 1. Теперь перепишем этот раздел вашей формулы как MID(Z2,2,LEN(Z2)-1)
.
Теперь, когда ваша ячейка в Z2
не начинается с 0. Если это так, вы хотите, чтобы формула просто возвращала это значение. Мы можем сделать это, просто добавив еще одну запятую после инструкции формулы, когда число начинается с 0 и вставляет Z2
. Это звучит немного странно, но должно иметь смысл в полной формуле ниже:
=IF(LEFT(A1,1)="0",MID(A1,2,LEN(A1)-1),A1)
После того, что вводится в клетку, предположительно AA2
, вы должны быть в состоянии нажать на маленькую коробочку в правом нижнем углу из этой клетки, чтобы она заполняла формулу вниз по столбцу до конца ваших данных, предположительно AA19497
Другого варианта у вас есть, если все значения в вашем Z
столбце номер предшествует нулями является просто ввести формулу =Z2*1
или =Z2/1
в другой ячейке, AA2
, если мы следуем той же схеме, что и остальная часть этого ответа. Это даст вам числовое значение Z
в вашем новом столбце и гораздо легче запомнить и ввести. К сожалению, это не сработает, если значения в ваших столбцах Z
имеют числа, смешанные с числами.
FWIW Третий критерий в MID() может быть больше количества символов, оставшихся в строке. '-1' на самом деле не нужен. потому что я ленив, я обычно кладу '999' для третьего критерия, когда использую его вместо Right(). Просто мое мнение, я набираю текст больше, чем нужно. –
@Scott Craner, Согласен, я иногда ленив о 'LEN'. Кажется, что формула 'MID' должна сделать третий аргумент (длина) опциональной и просто принять оставшуюся длину, если ничего не указано. – devuxer