Google листы переформатируют дату при вставке новой строки с помощью ARRAYFORMULA - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть лист Google с колонкой дат, которая выглядит следующим образом.

22/04/2020 09:01:24
22/04/2020 09:05:54
22/04/2020 09:17:06
22/04/2020 10:04:48
22/04/2020 21:05:26

Эти даты должны быть отформатированы YYYY-MM-DDD, чтобы их можно было правильно импортировать в другую систему. Поэтому я решил добавить еще один столбец, найти фрагмент даты и создать действительную дату. Эта функция:

=MID(A1,7,4)&"-"&MID(A1,4,2)&"-"&MID(A1,1,2)

Это приводит к правильному формату даты, например 2020-04-16

Теперь другой процесс, который добавляет строки в эту электронную таблицу, когда это происходит формула не копируется во вновь созданную ячейку. Я прочитал о ARRAYFORMULA, поэтому в первой строке я добавил следующее.

=ARRAYFORMULA({"Submitted at";IF(ROW(A2:A),MID(W2,7,4)&"-"&MID(W2,4,2)&"-"&MID(W2,1,2),"")})

Хотя это решило одну проблему, состоящую в том, что формула не копировалась, теперь она показывает только первую дату для каждой строки, например

2020-04-16
2020-04-16
2020-04-16
2020-04-16
2020-04-16
2020-04-16

Я думаю, это может быть связано с относительными ссылками на ячейки? Я немного застрял в том, что делать дальше или даже в чем может быть проблема. Буду признателен за понимание того, где я ошибаюсь (или более простое решение для переформатирования дат)

1 Ответ

2 голосов
/ 29 апреля 2020

измените эти W2s на W2: W

, вы также можете попробовать эту более простую формулу:

=ARRAYFORMULA({"Submitted at";IF(W2:W="",,TEXT(W2:W,"yyyy-mm-dd"))})
...