Преобразовать в текст, усекающий ведущие нули - PullRequest
0 голосов
/ 23 января 2019

Я использую функцию =TEXT() в Excel для преобразования буквенно-цифровых символов в строку.Все они преобразуются, кроме номеров деталей, которые имеют начальный ноль, например, 012345.

В настоящее время моя функция =TEXT(Input!B10, "0").Я пробовал разные варианты этого без успеха.Я искал ответы в Интернете, но также безуспешно.Все преобразуется в строку, КРОМЕ для чисел с ОДНИМ ведущим нулем.Я даже настроил новую книгу для тестирования и получаю тот же результат.Это часть более крупного макроса для получения пользовательских цен для моей ERP-системы.

Ответы [ 2 ]

0 голосов
/ 23 января 2019

Функция рабочего листа TYPE

=IF(TYPE(INPUT!B10)=2,B10,TEXT(INPUT!B10,"#"))

Если вы не хотите показывать другие текстовые значения, используйте это:

=IF(TYPE(B10)=2,IF(LEFT(B10,1)="0",B10,""),TEXT(B10,"#"))

Если вы хотите преобразовать пустые ячейки в 0, используйте:

=IF(TYPE(INPUT!B10)=2,B10,TEXT(INPUT!B10,0))

Справка VBA

Тип

Возвращает тип значения. Используйте TYPE, когда поведение другой функции зависит от типа значения в конкретной ячейке.

Синтаксис ТИП (значение)

«Значение» может быть любым значением Microsoft Excel, таким как число, текст, логическое значение и т. Д.

If value is   TYPE returns 
Number             1 
Text               2 
Logical value      4 
Error value       16 
Array             64 
0 голосов
/ 23 января 2019

Упрощенно, вы можете просто сделать это.Это предполагает, что у вас есть 0123456 в B10, отформатированный как текст.Он будет отформатирован так, чтобы в нем оставалось столько же начальных нулей, сколько в оригинале.

=TEXT(B10,REPT(0,LEN(B10)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...