#google-sheets #split #google-sheets-formula #array-formulas
#google-таблицы #разделение #google-таблицы-формула #массив-формулы
Вопрос:
В столбце A у меня есть дата и время. В столбце B у меня есть эта формула для их разделения:
={"COL B","COL C"; ArrayFormula(IF(NOT(ISBLANK(A2:A)), SPLIT(A2:A, " ")))}
Мой лист связан с формой Google.
Каждый раз, когда отправляется новый лист, новые данные выглядят как 44075 и 0,9756944444, и мне всегда нужно форматировать как дату, а другой — как время.
Есть ли какой-либо способ, которым моя формула автоматически отформатирует разделенное значение в столбцах b и c?
Ответ №1:
Вы могли бы попробовать это:
={"Date","Time"; ArrayFormula(IF(ISBLANK(A2:A),, {DATEVALUE(A2:A),TIMEVALUE(A2:A)}))}
или это:
={"Date","Time"; ArrayFormula(IF(ISBLANK(A2:A),, {INT(A2:A),MOD(A2:A,1)}))}
В любом случае вы захотите использовать Формат> Числовая дата для B и Формат> Число> Время для C.
ОБНОВЛЕНИЕ: Поскольку вы, похоже, хотите, чтобы форматирование отображалось определенным образом без использования опции Формат> Число, будут выведены даты и время…
=ARRAYFORMULA({"Date","Time";IF(A2:A="",,TEXT(A2:A,{"m/d/yy","h:mm am/pm"}))})
Комментарии:
1. Привет @MattKing, это не сработало. Я также пробовал {TO_DATE(INT(A2:A)…. —> тоже не сработало. Да, это то, что я сейчас делаю — вручную форматировать как дату, а другой столбец — как время, но я хотел знать, есть ли формула для автоматического выполнения этого.
2. @KBJohn Я отредактировал свой ответ, чтобы включить формулу, которая будет выполнять форматирование автоматически. Но это будут ТЕКСТОВЫЕ значения, а не числовые значения для любых последующих действий, которые вам нужно сделать.
Ответ №2:
Я перепробовал множество формул и сдался. Я только что добавил скрипт:
переменная date = ss.getRange(‘R2:R’); date.setNumberFormat(«ММ / дд/гггг»);
var Time = ss.getRange('S2:S');
Time.setNumberFormat("hh:mm:ss AM/PM");