Contar resultados correspondentes de células únicas no conjunto

Contar resultados correspondentes de células únicas no conjunto

Eu tenho uma única coluna de dados codificados no Excel assim:

a
b
ab
bc
ad
b
ac

Eu sei que posso encontrar as instâncias de todas as células que contêm "a" com =COUNTIF(A1:A7,"*a*"). Isso me daria 4. Também posso contar "b", =COUNTIF(A1:A7,"*b*")que resulta em 4.

No entanto, o que preciso é contar células que contenham "a" OU "b", masnão conta duas vezescélulas contendo ambos. =COUNTIF(A1:A7,"*a*")+COUNTIF(A1:A7,"*b*")= 8, mas quero uma condição OR que conte 7 sem contar duas vezes "ab".

Se fosse regex, eu poderia fazer algo parecido, =COUNTIF(A1:A7,"[ab]")mas não posso...


ATUALIZAÇÃO: Conforme observado emum comentário, este é um exemplo simplificado. Tenho AM no conjunto de dados e posso precisar contar combinações de dois, três ou até sete valores diferentes, por isso preciso de uma solução que possa ser escalonada.

Responder1

Esta solução deve funcionar como uma implementação escalável que pode ser facilmente expandida para outras strings.

=SUMPRODUCT(--(ISNUMBER(FIND("a",A1:A7))+ISNUMBER(FIND("b",A1:A7))>0))

Exemplo de adição de outra string:

=SUMPRODUCT(--(ISNUMBER(FIND("a",A1:A7))+ISNUMBER(FIND("b",A1:A7))+ISNUMBER(FIND("c",A1:A7))>0))

Isso funciona executando a FINDfunção em cada célula do intervalo e usando ISNUMBERpara determinar se uma correspondência foi encontrada. Os resultados são somados para cada célula e, em seguida, o >0final especifica que qualquer célula que corresponda a pelo menos um dos FINDs deve ser contada. O SUMPRODUCTsoma tudo para produzir uma resposta final.

Para uma correspondência que não diferencia maiúsculas de minúsculas, você pode substituir a FINDfunção por SEARCH.

informação relacionada