Формула 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"))

  1. В ячейках, где вам нужны даты, используйте предыдущую ячейку в качестве второго параметра:

="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