Страницы: 1
RSS
Дополнение нулями
 
Есть столбец A.  
В нем располагаются цифры. Их всегда 8. Проблема в том, что иногда попадаются столбцы где Excel убирает впереди идущие нули (я делаю импорт данных). Итого вместо:  
00101211  
Я получаю:  
101211  
 
Сам столбец выглядит так:  
101211  
22022213  
13444532  
11012221  
220113  
23938810  
 
Нужно как-то для всего столбца делать дополнение нулями всех строк, которые короче состоят менее чем из 8 символов, до 8 символов.  
 
Заранее спасибо!
 
Укажите при импорте формат данных - текстовый, и нули сохранятся.
 
формат ячеек-Все форматы- 0000000#
 
По первому ответу - проблема в том, что импорт происходит из интернета. Там нет возможности указать формат.  
Касательно второго - потом возникает проблема при разбивке чисел т.е. мне нужно из  
00045678  
сделать  
0 0 0 4 5 6 7 8  
т.е. разбить его по ячейкам, но это не получается - формат скидывается к исходному и вылезают нули не к месту.
 
тогда или  
=ТЕКСТ(A1;"00000000")  
с последующим разбиением, или сразу разбивайте число:
 
Ещё вариант (понял так, что нулями нужно с лева дополнять):  
=A1&ПОВТОР("0";8-ДЛСТР(A1))
 
То есть так:  
=ПОВТОР("0";8-ДЛСТР(A1))&A1
 
{quote}{login=VDM}{date=20.09.2011 02:52}{thema=}{post}То есть так:  
=ПОВТОР("0";8-ДЛСТР(A1))&A1{/post}{/quote}  
А не могли бы подсказать как эту формулу применять?  
К примеру мне ее нужно применить для всего столбца? Я вставляю ее в ячейку, и в этой ячейке получаю нужное значение для той ячейки на которую она указывает. А как сделать так, чтобы весь столбец изменился?
 
Вот допустим мне нужно получить нули для всех чисел с столбце I. Что мне нужно делать? я добавляю форумулу:  
=ПОВТОР("0";8-ДЛСТЛБ(I1:I33))  
в пустую строку и пытаюсь протянуть ее по столбцу, но ничего не получается.
 
{quote}{login=Suliman}{date=20.09.2011 03:28}{thema=Re: }{post}{quote}{login=VDM}{date=20.09.2011 02:52}{thema=}{post}То есть так:  
=ПОВТОР("0";8-ДЛСТР(A1))&A1{/post}{/quote}  
А не могли бы подсказать как эту формулу применять?  
К примеру мне ее нужно применить для всего столбца? Я вставляю ее в ячейку, и в этой ячейке получаю нужное значение для той ячейки на которую она указывает. А как сделать так, чтобы весь столбец изменился?{/post}{/quote}  
 
растягиваешь на весь столбец за правый нижний угол ячейки.  
когда ячейка выделена подведите курсор к правый нижний угол ячейки курсор изменится на крестик ЛКМ и тянем вниз. )
 
{quote}{login=Suliman}{date=20.09.2011 03:40}{thema=Re: Re: }{post}Вот допустим мне нужно получить нули для всех чисел с столбце I. Что мне нужно делать? я добавляю форумулу:  
=ПОВТОР("0";8-ДЛСТЛБ(I1:I33))  
в пустую строку и пытаюсь протянуть ее по столбцу, но ничего не получается.{/post}{/quote}  
=ПОВТОР("0";8-ДЛСТР(I1))&I1 - вводишь в ячейке рядом с I1, после растягиваешь вниз
 
А вот я сейчас настроил импорт этой страницы в Эксель -  и ячейка с 00101211 именно так и выглядит. Просто импортирую на лист, где этим колонкам заранее задан текстовый формат.
 
Хотя не всё гладко. Сейчас повторил на чистом листе - с первого раза нули не появляются, но если повторить запрос - то уже есть.  
Но сперва задал всем нужным столбцам текстовый формат.  
 
Option Explicit  
 
Sub Macro2()  
'  
' Macro2 Macro  
' Macro recorded 20.09.2011 by Hugo  
'  
 
'  
   With ActiveSheet.QueryTables.Add(Connection:= _  
       "URL;http://www.planetaexcel.ru/forum.php?thread_id=31939", Destination:= _  
       Range("A1"))  
       .Name = "forum.php?thread_id=31939"  
       .FieldNames = True  
       .RowNumbers = False  
       .FillAdjacentFormulas = False  
       .PreserveFormatting = True  
       .RefreshOnFileOpen = False  
       .BackgroundQuery = True  
       .RefreshStyle = xlInsertDeleteCells  
       .SavePassword = False  
       .SaveData = True  
       .AdjustColumnWidth = True  
       .RefreshPeriod = 0  
       .WebSelectionType = xlEntirePage  
       .WebFormatting = xlWebFormattingNone  
       .WebPreFormattedTextToColumns = True  
       .WebConsecutiveDelimitersAsOne = True  
       .WebSingleBlockTextImport = False  
       .WebDisableDateRecognition = False  
       .WebDisableRedirections = False  
       .Refresh BackgroundQuery:=False  
   End With  
End Sub
Страницы: 1
Читают тему
Наверх