Excel: Проверьте, находится ли дата в списке диапазонов дат, и если да, используйте значение из другой ячейки.

Вопрос или проблема

У меня есть таблица с списком пользователей и датами начала и окончания (для тех, кто использует ресурс). В другой вкладке я хочу визуализировать, какой пользователь использует ресурс и когда. Я хочу визуализировать это, показывая дату в каждой колонке, а в строке ниже – имя пользователя, использующего ресурс в эту дату.

Итак, входные данные выглядят так (европейский формат даты дд/мм/гг):
Input table

А я хотел бы, чтобы результат выглядел так:
Output

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

Предположим, что таблица1 на Листе1, а таблица2 на Листе2… на Листе2 в ячейке A4 введите :

=INDEX(Sheet1!$A$1:$A$3,MATCH(1,(Sheet2!A3>=Sheet1!$B$1:$B$3)*(Sheet2!A3<=Sheet1!$C$1:$C$3),0))

Затем нажмите Ctrl+Shift+Enter

Затем перетащите формулу вправо..

Пожалуйста, поделитесь, если это сработает.. (или нет).. Надеюсь, это поможет.

Ответ или решение

Чтобы решить задачу проверки, находится ли дата в списке диапазонов дат и в случае соответствия использовать значение из другой ячейки, мы можем использовать формулы Excel с функциями INDEX и MATCH. Давайте разберём пошагово, как это сделать.

Исходные данные

У нас есть два листа:

  1. Лист 1 (Sheet1): Содержит список пользователей с диапазонами дат, когда они используют ресурс. Например:

    • Колонка A: Имя пользователя
    • Колонка B: Дата начала (формат dd/mm/yy)
    • Колонка C: Дата окончания (формат dd/mm/yy)
  2. Лист 2 (Sheet2): Здесь вы хотите визуализировать информацию о пользователях по конкретным датам. Например, в строке A3 будут указаны даты, а в строках ниже имена пользователей.

Шаги для реализации

  1. Подготовка данных:
    Убедитесь, что ваши данные оформлены правильно. Используйте формат даты dd/mm/yy, чтобы избежать путаницы.

  2. Ввод формулы на Листе 2:
    Выберите ячейку A4 на Листе 2 (Sheet2) и введите следующую формулу:

    =INDEX(Sheet1!$A$1:$A$3, MATCH(1, (Sheet2!A3>=Sheet1!$B$1:$B$3)*(Sheet2!A3<=Sheet1!$C$1:$C$3), 0))
  3. Применение массивной формулы:
    После ввода формулы необходимо зафиксировать её как массивную. Для этого вместо обычного нажатия клавиши Enter используйте сочетание клавиш Ctrl + Shift + Enter. В результате Excel обернёт вашу формулу в фигурные скобки {}, что указывает на то, что это массивная формула.

  4. Протягивание формулы:
    Теперь вы можете перетащить формулу вправо по строке, чтобы она применялась к остальным датам, указанным в строке A3.

Объяснение формулы

  • INDEX(Sheet1!$A$1:$A$3, ...): Эта часть формулы возвращает имя пользователя из первых трёх строк колонки A на Sheet1.

  • MATCH(1, (...)*(...), 0): Этот фрагмент ищет соответствие между датой из Sheet2 и диапазоном дат в Sheet1:

    • (Sheet2!A3>=Sheet1!$B$1:$B$3): Проверяет, больше или равна ли дата в A3 на Sheet2 дате начала на Sheet1.
    • (Sheet2!A3<=Sheet1!$C$1:$C$3): Проверяет, меньше или равна ли дата в A3 на Sheet2 дате окончания на Sheet1.
    • Оба условия перемножаются, и если хотя бы одно из них истинно, MATCH возвращает индекс соответствующего пользователя.

Конечный результат

После того как вы выполните все эти шаги правильно, в ячейках B4, C4 и т.д. на Листе 2 отобразятся имена пользователей, которые используют ресурс на соответствующие даты.

Заключение

Используя описанную методику, вы сможете эффективно визуализировать использование ресурса пользователями по датам. Если возникнут дополнительные вопросы по работе с формулами в Excel, не стесняйтесь задавать!

Оцените материал
Добавить комментарий

Капча загружается...