Как добавить нули к тексту до определенной длины - PullRequest
0 голосов
/ 07 февраля 2020

У меня есть столбец, который выглядит как этот '12345', и другой столбец, в котором указывается длина этого числа.
Мне нужно добавить к нему ведущие нули до длины в другом столбце. Значения в столбце длины - 8 или 6. Если число в этом столбце меньше 6 или 8, то добавляйте нули, пока оно не станет этой длины. Я пробовал это, но это не работает:

=TEXT(H2,"0000000")

Данные:
enter image description here

Редактировать: вывод

"033328 "или" 00009971 "

Ответы [ 4 ]

3 голосов
/ 07 февраля 2020

Вот другой подход:

enter image description here

Формула в C2:

=REPLACE(A2,2,0,REPT("0",B2-LEN(A2)+2))
2 голосов
/ 07 февраля 2020

Возможно следующее - ЗАМЕНА, чтобы заменить кавычки, ТЕКСТ, чтобы добавить начальные нули, а затем ПРАВО для размера на соответствующую длину:

=RIGHT(TEXT(SUBSTITUTE(H2,"""",""),"00000000"),I2)

enter image description here

Если вам нужны кавычки в выводе, используйте следующее:

=""""&RIGHT(TEXT(SUBSTITUTE(H2,"""",""),"00000000"),I2)&""""

enter image description here

1 голос
/ 07 февраля 2020

Если вы действительно хотите просто рассматривать числовой столбец как текст, вы можете сделать следующее:

=CONCATENATE(REPT("0",I2-LEN(H2)),H2)

О, я вижу, что кавычки являются частью вашего входного текста ... Чтобы отбросить их (аппаратно, или вы могли бы сделать замену):

=CONCATENATE(REPT("0",I5+2-LEN(H5)),MID(H5,2,LEN(H5)-2))

Если бы вы захотели выполнить замену, я бы, вероятно, добавил скрытый столбец, содержащий текст без кавычек, и, возможно, другой, который содержит длину этого текста в Чтобы избежать повторения в формуле.

0 голосов
/ 08 февраля 2020

Близко к вашему подходу

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