Мне нужно найти первый и последний день каждого уникального дня (столбец 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 ответ1

2

Вот формула для его расчета:
=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 строки содержит "да", то
    • проверяет, является ли фактическая строка первой в тот же день с "да"
      • если да, тогда выдается "первый" (если у дня есть только одна квалификационная строка, она будет первой)
      • else проверяет, является ли текущая строка последней в тот же день с помощью "yes"
        • если да, то дает "последний"
        • если нет, то оставьте ячейку пустой
    • иначе (если столбец B равен "нет"), поле остается пустым

Формула в настоящее время работает только до 10000 строк, если у вас есть больше, просто увеличьте числа в ней.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .