
Preciso encontrar o primeiro e o último dia de cada dia exclusivo (coluna A) que se qualifica (coluna B).
Na coluna CI você precisa escrever "primeiro" ou "último".
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
As datas estão ordenadas. Se apenas um único registro de data for qualificado (como 1-1 ou 3-1 neste exemplo), ele poderá ser rotulado como "primeiro" ou "último", o que for mais simples para a abordagem adotada; a escolha do rótulo não é importante nessa situação (embora um rótulo seja necessário para o registro qualificativo, como no caso de 3-1).
Sugestões de abordagem?
Responder1
Aqui está uma fórmula para calculá-lo:
=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","")),"")
Parece complicado, mas simplesmente faz o que você explicou:
- se a coluna B da linha contiver "sim", então
- verifica se a linha atual é a primeira do mesmo dia com "sim"
- se sim, então dá "primeiro"(se um dia tiver apenas uma linha de qualificação, será a primeira)
- else verifica se a linha real é a última do mesmo dia com "sim"
- se sim, então dá "último"
- se não, deixe a célula em branco
- senão (se a coluna B for "não") deixa a célula em branco
- verifica se a linha atual é a primeira do mesmo dia com "sim"
A fórmula atualmente funciona apenas até 10.000 linhas, se tiver mais, basta aumentar os números nela.