У меня есть много ячеек на листе Excel, использующих 9 символов от 0 до 9 и AZ, с некоторым числом нулей с префиксом:
000000123 000001DA2 0000009Q5 0000L210A 0000014A0 0000A5500 00K002200
Я хотел бы удалить ведущие нули, чтобы значения стали:
123 1DA2 9Q5 L210A 14A0 A5500 K002200
Как бы я сделал это в формуле Excel? Я бы предпочел избегать использования макроса VBA.
microsoft-excel
worksheet-function
Крис Фармер
источник
источник
Ответы:
Вот решение, которое интенсивно использует клетки, но верно.
Поместите свои данные в столбец А.
В B1 поместите формулу:
Это проверяет один ведущий ноль и удаляет его.
Скопируйте эту формулу вправо на столько столбцов, сколько может быть символов в ваших данных (в данном случае 9, так что вы попадете в столбец J). Скопируйте его для каждой строки данных.
Последний столбец содержит ваши данные, лишенные лидирующих нулей.
источник
Следующая формула не требует дополнительных ячеек и не должна вводиться как формула массива:
Если для строк, подобных
0
или00
, должен быть возвращен один ноль, можно использовать следующую формулу:источник
Это сложная проблема, связанная с функцией рабочего листа. Следующее будет работать, но только если нули, которые не являются ведущими, идут только по одному за раз, и нет никаких завершающих нулей и никаких встроенных пробелов.
Он заменяет все нули пробелами, обрезает их (все, кроме встроенных одиночных пробелов), а затем заменяет нули.
источник
=CLEAN(SUBSTITUTE(TRIM(SUBSTITUTE(A1 & CHAR(9),"0"," "))," ","0"))
(в надеждеCLEAN
удалить вкладки; если нет; использовать другое значение вCHAR
)Это решение работает для входных значений, которые все ровно девять символов.
Сначала настройте фиксированную таблицу из десяти строк, которая содержит следующие числа в формате текста.
000000000
000000001
000000010
000000100
000001000
000010000
000100000
001000000
010000000
100000000
Допустим, таблица находится в ячейках от A1 до A10
скажем, ваше входное значение находится в ячейке B1, а ваша ячейка результата - C1
Используйте следующую формулу в ячейке C1
= ПРАВЫЙ (В1, ПОИСКПОЗ (В1, $ A $ 1: $ A $ 10,1) -1)
источник
MATCH
функции: 1 = найти наибольшее значение, которое меньше или равно lookup_valueДля данных в A1 используйте следующую формулу:
ввод по Ctrl + Shift + Enter. Он работает для строк длиной до 100 символов.
источник