Формула Excel TEXT не конвертирует 'yyyy' в год
Я хочу объединить текст с датой в Excel 2013.
Скажем, у меня есть ячейка A2 с датой вроде 30-10-2014. Я попытался добавить дату после текста с помощью этой формулы:
="Some text and a date: "&A2
Но вывод показывает дату как число: некоторый текст и дата: 41942
Итак, я попробовал его с помощью TEXT
:
="Some text and a date: "&TEXT(A2;"dd-mm-yyyy")
Но это показывает некоторый текст и дату: 30-10-yyyy, а не какой-то текст и дата: 30-10-2014
Так или я не понимаю, как работает формула TEXT
или есть какая-то ошибка/проблема здесь?
UPDATE. Похоже, важно, что у меня есть голландская версия Windows (7), но английская версия Excel (2013), которая вызывает эту проблему!
Ответы
Ответ 1
Все награды идут в @AxelRichter, спасибо Axel!
Похоже, что если у вас есть голландская Windows, но английская версия Excel (2013), формулы смешиваются. Например, у меня все еще есть английские названия формул, такие как TEXT
(который был бы TEKST
на голландском языке), но все равно придется использовать двоеточие вместо запятой в формуле. Значение format_text TEXT
по-прежнему ожидает формат Голландии, который отличается от года (jjjj вместо yyyy).
Итак, если у вас есть голландская Windows и английская версия Excel, правильная формула для некоторого текста, за которым следует форматированная дата, будет:
="Some text and a date: "&TEXT(A2;"dd-mm-jjjj")
Я надеюсь, что Microsoft это исправит, это очень раздражает!
Ответ 2
у нас та же проблема в нашей работе, и я обнаружил, что если я не могу повлиять на локализацию окон, то я использую формулу, которая в вашем случае выглядит следующим образом:
="Some text and a date: "&TEXT(A2;"dd-mm-")&YEAR(A2)
Забавно, что "дд" и "мм" - это одно и то же.
Ответ 3
Для той же проблемы, когда ваша система или клавиатура датская, используйте вместо ååå вместо jjjj. Я также много пытался найти этот ключ.
Однако, если кто-либо сталкивается с такой же проблемой, кроме голландского или датского, то вы можете проверить, какой ключ правильный. Чтобы найти его, щелкните правой кнопкой мыши по любой ячейке и перейдите в "Форматировать ячейку", затем выберите "Пользовательский" и найдите соответствующие даты на вашем локальном языке. Там вы можете найти, что является правильным ключом, который будет использоваться для формата DATE на вашем локальном языке.
Ответ 4
Excel здесь явно не работает. ТЕКСТ должен быть языковым агностиком.
Обходной путь, который я нашел, особенно если у вас есть несколько ячеек для форматирования:
- Вычислить нужный формат даты в скрытой ячейке или белом цвете:
=IF(TYPE(VALUE(TEXT(DATE_CELL;"YY")))=1;"DD.MM.YYYY";"ДД.ММ.ГГГГ")
Если вам нужно, он может быть расширен для поддержки нескольких регионов, таких как:
=IF(TYPE(VALUE(TEXT(DATE_CELL;"YY")))=1;"DD.MM.YYYY";IF(TYPE(VALUE(TEXT(DATE_CELL;"ГГ")))=1;"ДД.ММ.ГГГГ";"DD.MM.JJJJ"))
- В ячейках, где вам нужны даты, используйте предыдущую ячейку в качестве второго параметра:
="Date: " & TEXT(DATE_CELL; FORMAT_CELL)
Ответ 5
Решение. Чтобы проверить, работает ли формат "jjjj" :
Дата, которую вы хотите отобразить в определенном формате, находится в формате A1
В ячейке A2 свяжите cel с cel с датой, которую вы хотите отобразить в определенном формате, со следующей формулой:
=TEXT(A1;"dd/mm/jjjj")
В третьей части вы затем поместите следующую формулу:
=IF(RIGHT(A2;4)="jjjj";TEXT(A1;"yyyy");TEXT(A1;"jjjj"))
Если 4 цифры справа являются "jjjj" , эта формула будет отображать дату, отформатированную как "yyyy", иначе будет использоваться форматирование "jjjj" .
Ответ 6
Эта проблема все еще существует в Excel 2016 (или Office 365, если вы можете). Это вызвано различными языковыми настройками в Windows. Это происходит для языков с разными символами года (голландский - "jjjj", португальский - "aaaa"). Если у вас возникла эта проблема, попробуйте использовать локальный формат языка Windows.
Ответ 7
Теперь вы можете использовать "е" вместо "гггг". E является универсальной версией yyyy a