Определите первую и последнюю соответствующие записи для каждой даты в Excel

Определите первую и последнюю соответствующие записи для каждой даты в Excel

Мне нужно найти первый и последний день каждого уникального дня (столбец A), который соответствует условию (столбец B).

В столбце CI необходимо написать «первый» или «последний».

A     B    C
date  use  result
-----------------
1-1   yes  last
2-1   no
2-1   yes  first
2-1   no
2-1   yes
2-1   yes  last
2-1   no  
3-1   no
3-1   yes  first

Даты сортируются. Если подходит только одна запись даты (например, 1-1 или 3-1 в этом примере), ее можно пометить как «первая» или «последняя», в зависимости от того, что проще для выбранного подхода; выбор метки в этой ситуации не важен (хотя метка требуется для квалификационной записи, как в случае 3-1).

Предложения по подходу?

решение1

Вот формула для расчета:
=IF(B2="yes",IF(COUNTIFS($A$1:A1,A2,$B$1:B1,"yes")=0,"first",IF(COUNTIFS(A3:$A$10000,A2,B3:$B$10000,"yes")=0,"last","")),"")

Кажется сложным, но на самом деле это очень просто делает то, что вы объяснили:

  • если столбец B строки содержит «да», то
    • проверяет, является ли текущая строка первой строкой того же дня с «да»
      • если да, то дает "первый"(если в день есть только одна квалификационная строка, она будет первой)
      • в противном случае проверяется, является ли текущая строка последней в тот же день с «да»
        • если да, то дает "последний"
        • если нет, то оставьте ячейку пустой
    • в противном случае (если столбец B равен «нет») оставляет ячейку пустой

В настоящее время формула работает только для 10 000 строк. Если у вас больше, просто увеличьте в ней числа.

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

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