Страницы: 1
RSS
Как получить такой формат даты 2016_06
 
Добрый день
подскажите пожалуйста в чем фокус
иксель убирает нижнее "_" между цифрами
как получить такой формат даты 2016_06 ?
=ТЕКСТ(A2;"ГГГГ_ММ") возвращает 2016 6
=ТЕКСТ(A2;"ГГГГ_МММ")   ==>    2016 06
=ТЕКСТ(A2;"ГГГГ+ММ")               2016+06  (с + и др знаками работает норм)
=ТЕКСТ(A2;"ГГГГ + ММ")              2016 + 06
=ТЕКСТ(A10;"ГГГГ _ ММ")            2016дваПробела06
=ТЕКСТ(A7;"ГГГГ"&"_"&"ММ")       2016 6
=ТЕКСТ(A9;"ГГГГ&_&ММ")         2016& 06
помогите пожалуйста разобраться что происходит или как получить 2016_06

версия excel 2016
 
Цитата
Alexey795 написал:
как получить такой формат даты 2016_06
=ТЕКСТ(A1;"ГГГГ\_ММ")
Цитата
Alexey795 написал:
в чем фокус
_ - это служебный символ, означающий "пробел на ширину последующего за мной символа";
\ - это другой служебный символ, означающий "просто выведи следующий за мной символ"
Изменено: buchlotnik - 16.10.2018 16:00:23
Соблюдение правил форума не освобождает от модераторского произвола
 
Попробуйте ТЕКСТ(A9;"ГГГГ&Chr(95)&ММ")  
 
Eternity, а сами попробовали?  :evil:
 
buchlotnik, спасибо! формула работает! разъяснение я тоже понял. благодарю за оперативность
 
Alexey795, ну и для комплекта, Вы были почти у цели  
Цитата
Alexey795 написал:
"_"
=ТЕКСТ(A1;"ГГГГ""_""ММ")
но \, в случае одного символа, компактнее.  
По вопросам из тем форума, личку не читаю.
 
Цитата
Alexey795 написал:
=ТЕКСТ(A1;"ГГГГ\_ММ")
Если фрагмент этой формулы, а точнее: ГГГГ\_ММ вставить в "все форматы - Тип", то в ячейки помеченные этим форматом, останется только ссылки на ячейки с датой давать.(=А1)

https://b.radikal.ru/b43/1810/5c/1847bea71ae5.jpg
Изменено: pitby - 16.10.2018 17:47:30
 
только зачем ТЕКСТ???
формат даты вписать реально в формат ячейки и получить ячейку вида 2018_6, которой можно пользоваться как обычной датой
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Попробуйте задать числовой формат ячейки (все форматы) в виде  ГГГГ"_"ММ или ГГГГ\_ММ
Изменено: mic-m - 17.10.2018 14:54:31
 
Alexey795, вам лучше всего сделать макрос, который при изменении ячейки будет приводить дату в нужный формат
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim m
    If Not Intersect(Target, Range("A1:A10")) Is Nothing Then
        If VBA.IsDate(Target) Then
            Application.EnableEvents = 0
            m = VBA.Split(Target, ".")
            Target = m(2) & "_" & m(1)
            Application.EnableEvents = 1
        End If
    End If
End Sub
Изменено: ivanok_v2 - 17.10.2018 12:35:07
Страницы: 1
Наверх