Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Добавление нулей при недостаточном количестве чисел в ячейке - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Добавление нулей при недостаточном количестве чисел в ячейке
cresh12 Дата: Четверг, 01.10.2015, 08:54 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 30
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день! Интересует такой вопрос, существует ли в функция при помощи которой можно было бы добавлять недостающее количество нулей в ячейку. Например: необходимо чтобы во всех ячейках столбца были числа состоящие из 5 символов, число 123 должно быть как 12300, число 78 как 78000
Столбцы заполняются копированием из одной книги в другую таким способом, вдруг это важно
[vba]
Код
      
                        Case 6
                            Data = Replace(Replace(CStr("'" & arrSrc(i, 3)), ".", ""), "-", "")
                        Case 7
                            Data = "11"
                        Case 8
                            Data = arrSrc(i, 10)
                        Case 9
                            Data = arrSrc(i, 11)
                      
                        Case 10
                            If arrSrc(i, 12) <> "" Then
                    Data = arrSrc(i, 12) * 1000
                            Else
                    Data = "'0000000"
                            End If
                         
                        Case 16
                           If arrSrc(i, 22) = "" Then
                    If arrSrc(i, 29) <> "" Then Data = arrSrc(i, 29) * 1000
                    If arrSrc(i, 29) = "" Then Data = "'000000000"
                          Else
                    Data = "'000000000"
                          End If
                            
[/vba]


Сообщение отредактировал cresh12 - Четверг, 01.10.2015, 09:00
 
Ответить
СообщениеДобрый день! Интересует такой вопрос, существует ли в функция при помощи которой можно было бы добавлять недостающее количество нулей в ячейку. Например: необходимо чтобы во всех ячейках столбца были числа состоящие из 5 символов, число 123 должно быть как 12300, число 78 как 78000
Столбцы заполняются копированием из одной книги в другую таким способом, вдруг это важно
[vba]
Код
      
                        Case 6
                            Data = Replace(Replace(CStr("'" & arrSrc(i, 3)), ".", ""), "-", "")
                        Case 7
                            Data = "11"
                        Case 8
                            Data = arrSrc(i, 10)
                        Case 9
                            Data = arrSrc(i, 11)
                      
                        Case 10
                            If arrSrc(i, 12) <> "" Then
                    Data = arrSrc(i, 12) * 1000
                            Else
                    Data = "'0000000"
                            End If
                         
                        Case 16
                           If arrSrc(i, 22) = "" Then
                    If arrSrc(i, 29) <> "" Then Data = arrSrc(i, 29) * 1000
                    If arrSrc(i, 29) = "" Then Data = "'000000000"
                          Else
                    Data = "'000000000"
                          End If
                            
[/vba]

Автор - cresh12
Дата добавления - 01.10.2015 в 08:54
nilem Дата: Четверг, 01.10.2015, 09:07 | Сообщение № 2
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
может подойдет формат ячеек "00000"?
вместо 123 будет 00123


Яндекс.Деньги 4100159601573
 
Ответить
Сообщениеможет подойдет формат ячеек "00000"?
вместо 123 будет 00123

Автор - nilem
Дата добавления - 01.10.2015 в 09:07
buchlotnik Дата: Четверг, 01.10.2015, 09:11 | Сообщение № 3
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
можно так
Код
=A1&ПОВТОР(0;5-ОКРВВЕРХ(LOG10(A1+0,1);1))
К сообщению приложен файл: 3325773.xlsx (8.4 Kb)
 
Ответить
Сообщениеможно так
Код
=A1&ПОВТОР(0;5-ОКРВВЕРХ(LOG10(A1+0,1);1))

Автор - buchlotnik
Дата добавления - 01.10.2015 в 09:11
cresh12 Дата: Четверг, 01.10.2015, 09:12 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 30
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
nilem, да, такой вариант подойдет)
 
Ответить
Сообщениеnilem, да, такой вариант подойдет)

Автор - cresh12
Дата добавления - 01.10.2015 в 09:12
ShAM Дата: Четверг, 01.10.2015, 09:27 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1347
Репутация: 249 ±
Замечаний: 0% ±

Excel 2010
Еще вариант формулой:
Код
=A1*10^(5-ДЛСТР(A1))
 
Ответить
СообщениеЕще вариант формулой:
Код
=A1*10^(5-ДЛСТР(A1))

Автор - ShAM
Дата добавления - 01.10.2015 в 09:27
cresh12 Дата: Четверг, 01.10.2015, 09:29 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 30
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
к сожалению формулу не могу использовать, т.к. код из visual basic
 
Ответить
Сообщениек сожалению формулу не могу использовать, т.к. код из visual basic

Автор - cresh12
Дата добавления - 01.10.2015 в 09:29
buchlotnik Дата: Четверг, 01.10.2015, 09:47 | Сообщение № 7
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
почему же не можете? Например, формула уважаемого Алишера будет выглядеть так:[vba]
Код
Function nuli(a As String)
     nuli = a * 10 ^ (5 - Len(a))
End Function
[/vba]
К сообщению приложен файл: _3325773.xlsm (13.1 Kb)
 
Ответить
Сообщениепочему же не можете? Например, формула уважаемого Алишера будет выглядеть так:[vba]
Код
Function nuli(a As String)
     nuli = a * 10 ^ (5 - Len(a))
End Function
[/vba]

Автор - buchlotnik
Дата добавления - 01.10.2015 в 09:47
cresh12 Дата: Четверг, 01.10.2015, 10:39 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 30
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо) Очень красивое решение) А как сделать чтобы из 123 получалось 00123? Это так для саморазвития)
 
Ответить
СообщениеСпасибо) Очень красивое решение) А как сделать чтобы из 123 получалось 00123? Это так для саморазвития)

Автор - cresh12
Дата добавления - 01.10.2015 в 10:39
nilem Дата: Четверг, 01.10.2015, 10:58 | Сообщение № 9
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
А как сделать чтобы из 123 получалось 00123?

формат ячеек - число - в поле Тип пишем 00000 - Ок
(снимок во вложении)
К сообщению приложен файл: 6201322.png (23.1 Kb)


Яндекс.Деньги 4100159601573
 
Ответить
Сообщение
А как сделать чтобы из 123 получалось 00123?

формат ячеек - число - в поле Тип пишем 00000 - Ок
(снимок во вложении)

Автор - nilem
Дата добавления - 01.10.2015 в 10:58
Roman777 Дата: Четверг, 01.10.2015, 11:08 | Сообщение № 10
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация: 127 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
cresh12, в продолжении решения формулами:
Код
=ПРАВСИМВ(A1*10^(5-ДЛСТР(A1));ДЛСТР(A1*10^(5-ДЛСТР(A1)))-ДЛСТР(A1))&A1


[vba]
Код
Function nuli2(a As String)
       nuli2 = Right(a * 10 ^ (5 - Len(a)), Len(a * 10 ^ (5 - Len(a)))-len(a)) & a
End Function
[/vba]


Много чего не знаю!!!!

Сообщение отредактировал Roman777 - Четверг, 01.10.2015, 11:09
 
Ответить
Сообщениеcresh12, в продолжении решения формулами:
Код
=ПРАВСИМВ(A1*10^(5-ДЛСТР(A1));ДЛСТР(A1*10^(5-ДЛСТР(A1)))-ДЛСТР(A1))&A1


[vba]
Код
Function nuli2(a As String)
       nuli2 = Right(a * 10 ^ (5 - Len(a)), Len(a * 10 ^ (5 - Len(a)))-len(a)) & a
End Function
[/vba]

Автор - Roman777
Дата добавления - 01.10.2015 в 11:08
buchlotnik Дата: Четверг, 01.10.2015, 11:09 | Сообщение № 11
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
Цитата
формат ячеек
можно и кодом:[vba]
Код
Function nuli2(a As String)
      nuli2 = Format(a, "00000")
End Function
[/vba]
К сообщению приложен файл: -3325773.xlsm (13.7 Kb)


Сообщение отредактировал buchlotnik - Четверг, 01.10.2015, 11:11
 
Ответить
Сообщение
Цитата
формат ячеек
можно и кодом:[vba]
Код
Function nuli2(a As String)
      nuli2 = Format(a, "00000")
End Function
[/vba]

Автор - buchlotnik
Дата добавления - 01.10.2015 в 11:09
KSV Дата: Четверг, 01.10.2015, 11:12 | Сообщение № 12
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация: 255 ±
Замечаний: 0% ±

Excel 2013
или сразу указать весь диапазон (если он известен) и один раз выполнить [vba]
Код
Range("A2:A268").NumberFormat = "00000"
[/vba]


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333
 
Ответить
Сообщениеили сразу указать весь диапазон (если он известен) и один раз выполнить [vba]
Код
Range("A2:A268").NumberFormat = "00000"
[/vba]

Автор - KSV
Дата добавления - 01.10.2015 в 11:12
cresh12 Дата: Понедельник, 05.10.2015, 09:42 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 30
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
KSV, а можно сделать так чтобы после данной процедуры ячейки были в текстовом, а не числовом формате? Потому что если поменять после этого формат на текстовый, то пропадают нули


Сообщение отредактировал Serge_007 - Вторник, 06.10.2015, 00:39
 
Ответить
СообщениеKSV, а можно сделать так чтобы после данной процедуры ячейки были в текстовом, а не числовом формате? Потому что если поменять после этого формат на текстовый, то пропадают нули

Автор - cresh12
Дата добавления - 05.10.2015 в 09:42
KSV Дата: Понедельник, 05.10.2015, 23:55 | Сообщение № 14
Группа: Друзья
Ранг: Ветеран
Сообщений: 770
Репутация: 255 ±
Замечаний: 0% ±

Excel 2013
если поменять после этого формат на текстовый
а зачем менять?
но если нужно число как текст, тогда как-нибудь так: [vba]
Код
Data = Format(arrSrc(i, 12), "00000")
[/vba]


KSV.VBA@gmail.com
Яндекс.Деньги: 410011921213333
 
Ответить
Сообщение
если поменять после этого формат на текстовый
а зачем менять?
но если нужно число как текст, тогда как-нибудь так: [vba]
Код
Data = Format(arrSrc(i, 12), "00000")
[/vba]

Автор - KSV
Дата добавления - 05.10.2015 в 23:55
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2026 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!