Как выделить определенный диапазон времени в столбце даты и времени Excel?

У меня есть столбец Excel с элементами даты и времени в европейском формате 2020.10.26 13:14:00, и я хотел бы выделить те строки, в которых время находится между 11:00:00 и 12:00:00.

Все, что Google нашел для условного форматирования, в основном связано с датами, но они не работают для времени.

Как выделить определенный диапазон времени в столбце даты и времени Excel? (Есть ли формула?)


Пробовал предложение, показанное ниже, но безуспешно.

введите здесь описание изображения


ОБНОВЛЕНИЕ: 30 октября 2020 г.

Если вы копируете/вставляете (или импортируете/используете) текст даты, использующий нотацию точка (2020.10.26), Excel не сможет его понять, если только вы не компьютеров (Windows) locale настроен на использование той же записи. Чаще всего используются нотации слэш (26/10/2020) или европейские тире (2020-10-26). Затем Excel откажется распознавать ее как дату, даже если вы специально установите для нее значение Дата (или Пользовательская) в раскрывающемся списке Format Cell.... настройки. Вместо этого он по-прежнему будет рассматриваться как текст, и вам придется преобразовать его в стандартное представление даты без точек).

По умолчанию Excel предпочитает выравнивать текст по левому краю, в то время как реальные ячейки даты выравниваются по правому краю.

В моем случае я мог бы преобразовать текст даты с использованием точек в тире, используя формулу Excel:

'=SUBSTITUTE(TEXT(A2,"00.00"),".","-")

(Здесь 00.00 действует как поле шаблона.)

Однако это означает, что вам нужно создать новый столбец со всеми этими недавно отформатированными датами. Это не очень привлекательное решение, лучшие из них представлены в принятых решениях, предоставленных @basic ниже.


person not2qubit    schedule 26.10.2020    source источник


Ответы (1)


Используйте формулу условного форматирования:

=(HOUR(A1)>=11)*(HOUR(A1)<12)

введите здесь описание изображения

Изменить

Если у вас есть дата, введенная в виде текста, используйте формулу:

=((MID(C1,12,2))*1)=11

введите здесь описание изображения

person basic    schedule 26.10.2020
comment
Это выглядит многообещающе, но это не работает для меня. Может потому что у меня тоже есть секунды? Кроме того, я использую формат date для этого столбца. - person not2qubit; 29.10.2020
comment
@not2qubit Формула берет часовую часть даты и времени и сравнивает ее с требуемым периодом - независимо от того, есть ли в ячейке секунды или нет, и как отформатирована ячейка. Отредактируйте свой вопрос и добавьте скриншот с данными, используемой формулой и применимостью к диапазону. - person basic; 29.10.2020
comment
Я сделал именно так и несколько вариантов, но не пошло. Я также попытался отформатировать столбец с помощью пользовательского варианта формата для времени (yyyy.mm.dd hh:mm:ss), в соответствии с тем, что показано в OP. (Все мои данные выглядят так, только другое время и даты.) Однако я вижу, что ваша формула использует плоские A1, которые на самом деле содержат имя столбца DateTime, тогда как моя называется MyTime. Может это важно? (Нет, только что попробовал.) Почему бы вам не попробовать добавить поле seconds (:ss) к своим данным и посмотреть, работает ли эта формула для вас? - person not2qubit; 29.10.2020
comment
Кроме того, какие у вас есть настройки для формата ячеек для этого столбца? - person not2qubit; 29.10.2020
comment
@ not2qubit В моем дате-времени есть секунды, просто столбец отформатирован без них. Ваш CF выглядит нормально, но ваши даты, кажется, нет. Можете ли вы показать мне результат формулы =ISNUMBER(A2)? - person basic; 29.10.2020
comment
Это FALSE, так как это не число, а поле Date или Custom, отформатированное как дата, описанная выше. - person not2qubit; 30.10.2020
comment
@not2qubit мой ответ был на вопрос Как я могу выделить определенный диапазон времени в столбце даты и времени Excel? Текст см. в разделе Правка. - person basic; 30.10.2020
comment
Верно! Из-за отсутствия документации MSO кажется, что если вы получаете/вставляете дату в формате точка, в то время как в настройках locale используется тире нотация для разделения элементов даты (как у меня), Excel не может распознать ее как правильную дату и вместо этого думает, что это текст, даже если вы отформатируете ее вручную, чтобы она была датой или пользовательской датой. (Это можно увидеть, поскольку столбец даты выравнивается по левому краю, в то время как правильно распознанная дата выравнивается по правому краю (по умолчанию). Если я заменю . на -, тогда это сработает. (Я понятия не имею, как сделать пользовательское форматирование как документов не хватает) - person not2qubit; 30.10.2020
comment
Чтобы заменить точки тире, я использовал: '=SUBSTITUTE(TEXT(A2,"00.00"),".","-") - person not2qubit; 30.10.2020
comment
В Excel возникла проблема с использованием формулы, которую вы добавили последней. В нем 2 знака равенства: =((MID(C1;12;2))*1)=11. Я предполагаю, что ему чего-то не хватает, что делает его логическим. - person not2qubit; 30.10.2020
comment
В чем проблема? Если вы введете эту формулу в ячейку, вы увидите точный результат. - person basic; 30.10.2020
comment
Нет, в функции MID должны быть запятые, а не точки с запятой, например: =((MID(C1,12,2))*1)=11. В любом случае, я ценю ваше терпение. Спасибо. - person not2qubit; 30.10.2020
comment
О, да. Я использую точки с запятой и забыл заменить. Извиняюсь. Исправлено. - person basic; 30.10.2020