Фильтрация Excel по нескольким критериям

Фильтрация Excel по нескольким критериям

Я пытаюсь отфильтровать отчет по пациентам, которые были на приеме в 2021 году, но если у пациента были визиты и в предыдущие годы, я хочу исключить их из отчета. (Так что, если пациент был на приеме в 2018 и 2021 годах, я не хочу, чтобы они извлекались). Я также хочу, чтобы число в другом столбце было больше, равно и больше 10,0.

Столбец B = дата обслуживания Столбец C = имена пациентов Столбец F = числовой индикатор

Как лучше всего отфильтровать это или использовать формулу =IF?

Это отчет о состоянии здоровья, поэтому я не могу предоставить информацию о нем из-за информации о пациентах.

решение1

Как предлагается в комментариях, это можно сделать с помощью вспомогательного столбца, используя формулу, которая выглядит следующим образом:

=AND(F2>=10,COUNTIFS(C:C,C2,B:B,"<"&DATE(2021,1,1))=0)

Обязательно отрегулируйте ссылки F2и C2сопоставьте их со строкой, в которую вы вставляете формулу. После этого вы можете копировать вверх и вниз по этому столбцу, и эти ссылки будут обновляться автоматически. Вот основные принципы того, как это работает:

AND()требует, чтобы все условия внутри были истинными, иначе возвращается ложь. У нас есть 2 условия:

  • F2>=10все просто.
  • COUNTIFS()подсчитывает, сколько записей соответствуют нескольким критериям. Они поступают в парах диапазон+условие, и их два.:
    • C:C,C2подсчитывает только те значения из всего столбца C, которые соответствуют значению в этой строке (имя пациента в этой строке)
    • B:B,"<"&DATE(2021,1,1)учитываются только даты до 01.01.2021, т.е. до 2021 года.

Если функция COUNTIFS()возвращает 0 (то есть пациент не был найден ни в одном из предыдущих лет) и число в F больше или равно 10, то функция AND()возвращает true. В противном случае она возвращает false.

Скопируйте/вставьте формулу в каждую строку вашей таблицы, а затем отфильтруйте по этому столбцу. Вам нужны те, которые вернули true.

решение2

пожалуйста, проверьте, была ли следующая информация полезной для вас.

=IF(D4>=10,IF(ISNA(VLOOKUP(C4,$C$10:$C$13,1,FALSE)),B4:D4,""),"")

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

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

Связанный контент