Конкатенация даты со строкой в ​​Excel - PullRequest
47 голосов
/ 14 июня 2011

У меня есть две ячейки в Excel.у одного есть строка, а у другого дата.в третьей ячейке я хочу поместить дату и строку вместе.Например:

A1 = "This "
A2 = "03/03/1982"

Я хочу, чтобы A3 было:

This 03/03/1982

, когда я пытаюсь вставить это в формулу A3: = A1 & A2 возвращает некоторое забавное числовое значение для датыи не дает мне буквальную дату.

Ответы [ 5 ]

74 голосов
/ 14 июня 2011

Не знаю, будет ли это лучшим способом, но я бы сделал это:

=A1 & TEXT(A2,"mm/dd/yyyy")

Это должно отформатировать вашу дату в желаемую строку.

Редактировать: Это смешное число, которое выsaw - количество дней между 31 декабря 1899 года и вашей датой.Так Excel хранит даты.

14 голосов
/ 14 июня 2011

Это числовое представление даты.То, что вы получаете, обращаясь к датам из таких формул.

Вам нужно будет сделать:

= A1 & TEXT(A2, "mm/dd/yyyy")

Самая большая проблема здесь заключается в том, что спецификатор формата зависит от локали.Это не будет работать / производить не так, как ожидалось, если файл открывается с помощью локализованного Excel по-разному.

Теперь вы могли бы иметь пользовательскую функцию:

public function AsDisplayed(byval c as range) as string
  AsDisplayed = c.Text
end function

и затем

= A1 & AsDisplayed(A2)

Но в Excel есть ошибка (функция?), Из-за которой свойство .Text внезапно недоступно на определенных этапах цикла вычислений,и ваши формулы показывают #VALUE вместо того, что они должны.

То есть, это плохо в любом случае.

6 голосов
/ 06 августа 2013

Другой подход

=CONCATENATE("Age as of ", TEXT(TODAY(),"dd-mmm-yyyy"))

Это вернет Возраст с 06 августа 2013 года

3 голосов
/ 02 января 2014

Спасибо за решение!

Это работает, но во французской среде Excel вы должны применить что-то вроде

TEXTE(F2;"jj/mm/aaaa")

, чтобы сохранить дату, отображаемую в ячейке F2после объединенияС наилучшими пожеланиями

2 голосов
/ 21 мая 2013

Вы можете сделать это простым способом:

А1 = Махи
A2 = NULL (пусто)

Выбрать A2 Щелкните правой кнопкой мыши по ячейке -> Форматировать ячейки -> изменить на ТЕКСТ

Затем укажите дату в A2 (A2 = 31/07/1990)

Тогда объедините это будет работать. Не нужно никаких формул.

* * = 1 022 СЦЕПИТЬ (А1, А2) * * тысяча двадцать-три

mahi31 / 07/1990

(Это работает для пустых ячеек, т. Е. Перед вводом значения DATE в ячейку необходимо указать его как TEXT).

...