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