Поиск текущего дня и времени с помощью QUERY или VLOOKUP - PullRequest
0 голосов
/ 19 марта 2019

В настоящее время я извлекаю некоторые временные интервалы встреч на основе текущего времени now() и извлекаю временные интервалы из соседнего рабочего листа.

Теперь я хочу добавить текущий день недели в качестве аргумента в видеЧто ж.Нужно ли мне делать что-то более продвинутое, например =query или как я могу расширить это до текущего =vlookup?

Вот что я получил до сих пор с QUERY и VLOOKUP:

=query(TimeSlots!C2:F25, select 2,3,4,5 where Col1 = Live!A2 & where Col2 = Live!B2)

=vlookup(timevalue(B2), {iferror(value(regexextract(TimeSlots!B2:B, "(.+)\s-"))),TimeSlots!C2:F}, {2, 3, 4, 5}, 1))

https://docs.google.com/spreadsheets/d/1OOdLI-1j3d10LsfGdNPS4tOusx4AnRZvXzdgmrLvrSA/edit?usp=sharing

Если вы хотите сыграть и сделать копию, здесь ссылки.

1 Ответ

0 голосов
/ 20 марта 2019

Я пишу это добросовестно с вашим успехом в глубине души; для вас все немного сложнее, чем нужно, потому что вы нарушаете пару неписаных правил нормализации электронных таблиц. Наиболее заметно, если вы хотите использовать ячейку в формуле в другом месте, ячейка должна быть в формате Sheets-native. Попробуйте это:

  1. Выберите столбец временных интервалов B
  2. В меню выберите «Вставка» → «Столбец справа»
  3. Переименуйте B и C, скажем… «Начало временного интервала» и «Конец временного интервала», соответственно
  4. Отредактируйте данные, чтобы воссоздать ваши диапазоны в этой новой раскладке (включена ниже, если вы хотите скопировать-вставить)
  5. Вооруженные единообразными источниками данных для собственного вычисления, теперь вы можете использовать формулу для получения строки (ей), где рабочие дни совпадают и , текущее время больше, чем время начала слота и текущее время меньше, чем время окончания слота.

Например:

=FILTER( TimeSlots!A2:G29,
  A$2 = TimeSlots!A2:A29,
  MOD(B$2,1) > TimeSlots!B2:B29,
  MOD(B$2,1) < TimeSlots!C2:C29
)

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

Обратите внимание, что NOW () выводит дату и время, из которых вы показываете только время с использованием «косметического» форматирования . Чтобы посмотреть только на фактический компонент времени даты-времени В2, я делю на 1 день и оставляю оставшееся время.

Вот вышеупомянутые столбцы времени начала и конца, если вы хотите вставить их на место. Колонка B:

Time Slot Begin
07:00:00
09:00:00
16:00:00
20:00:00
07:00:00
09:00:00
16:00:00
20:00:00
07:00:00
09:00:00
16:00:00
20:00:00
07:00:00
09:00:00
16:00:00
20:00:00
07:00:00
09:00:00
16:00:00
20:00:00
07:00:00
09:00:00
16:00:00
20:00:00
07:00:00
09:00:00
16:00:00
20:00:00

и столбец C:

Time Slot End
08:59:00
15:59:00
19:59:00
06:59:00
08:59:00
15:59:00
19:59:00
06:59:00
08:59:00
15:59:00
19:59:00
06:59:00
08:59:00
15:59:00
19:59:00
06:59:00
08:59:00
15:59:00
19:59:00
06:59:00
08:59:00
15:59:00
19:59:00
06:59:00
08:59:00
15:59:00
19:59:00
06:59:00
...