Страницы: 1
RSS
Перевод числа из пользовательского формата в текстовый с сохранением маски
 
Добрый день!
Подскажите пожалуйста, есть ячейка с форматом "табель", в ней хранится число 21, но отображается, как 0021. Каким образом из нее можно получить в другую ячейку информацию в текстовом формате в виде 0021 (что бы нули сохранились). Пример во вложении исходная ячейка А1, то что нужно получить В1.
 
=ТЕКСТ(A1;"0000")
Соблюдение правил форума не освобождает от модераторского произвола
 
Код
=ТЕКСТ(A1;"0000")
Согласие есть продукт при полном непротивлении сторон
 
Спасибо, работает, но я немного неправильно задал вопрос, сейчас понял. Дело в том, что у меня бывают ячейки с форматом "Табель", а бывают с другими форматами например "почтовый Индекс" и в случае с индексом число будет выглядеть, как 00021 и функция ТЕКСТ с маской ввода "0000" уже не сработает. Можно ли каким то образом сделать универсальное решение по переводу? Например выводить сколько нулей вначале содержится и далее это количество нулей добавлять сцепкой к полученному числу?
 
Цитата
DopplerEffect написал:
неправильно задал вопрос
скорее некорректно сделали неполный пример.
Цитата
DopplerEffect написал:
сколько нулей вначале содержится
или отображается?
По вопросам из тем форума, личку не читаю.
 
БМВ, отображается, сколько нулей отображается.
 
Доброе время суток
Цитата
DopplerEffect написал:
сколько нулей отображается.
И какая формула рабочего листа Excel может дать формат, которым отображается данное в ячейке? Тут, боюсь, только udf-функция поможет.
Код
Public Function getVisibleValue(ByVal forCell As Range) As String
    Dim pCell As Range, sResult As String
    If forCell.Count = 1 Then
        sResult = forCell.Text
    Else
        For Each pCell In forCell
            If sResult = "" Then
                sResult = pCell.Text
            Else
                sResult = sResult & "; " & pCell.Text
            End If
        Next
    End If
    getVisibleValue = sResult
End Function
 
Цитата
DopplerEffect написал: ... число будет выглядеть, как 00021 и функция ТЕКСТ с маской ввода "0000" уже не сработает
Вот так сработает форматирование как текстового, так и числового значения: =ТЕКСТ(--A1;"0000")
Изменено: ZVI - 11.07.2019 19:04:26
 
ZVI, там требуется переменное число знаков, при этом в зависимости в том числе и от формата. Впрочем, корректного файла примера так и нет.
По вопросам из тем форума, личку не читаю.
 
Код
=ТЕКСТ(--A1;ПОВТОР("0";МАКС(4;ДЛСТР(A1))))
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
БМВ написал: ... переменное число знаков
Не уверен, что я правильно понял, но может быть так: =ТЕКСТ(--A1;ПОВТОР("0";ДЛСТР(A1)))
 
ZVI, Ігор Гончаренко,
Цитата
DopplerEffect написал:
отображается, сколько нулей отображается.
то есть сколько в формате. Мне кажется с Андреем мы поняли одинаково.
По вопросам из тем форума, личку не читаю.
Страницы: 1
Наверх