Precisa de uma fórmula para contar números começando com dígitos específicos em uma string separada por vírgulas

Precisa de uma fórmula para contar números começando com dígitos específicos em uma string separada por vírgulas

Preciso de uma fórmula para contar números começando com dígitos específicos em uma string separada por vírgulas

O primeiro dígito é sempre 1,2 ou 3; o segundo dígito pode estar entre 1 e 6. Preciso contar os números da string começando com 1, 2 e 3; e se essas contagens forem maiores que zero, conte suas combinações com o segundo dígito.

Aqui está o exemplo com a solução esperada. Digamos que A1 tenha a seguinte string:

11234,12345, 23456, 31423, 13009, 14001,24005, 12222, 21222, 33215, 21236 

Então:

  • B1 deve retornar 5 (uma contagem de todos os números na string começando com 1)
  • C1 deve ser 3 (uma contagem de todos os números na string começando com 2)
  • D1 deve ser 2 (uma contagem de todos os números na string começando com 3)

Responder1

Que tal agora:

=(LEN(","&SUBSTITUTE($A$1,", ",","))-LEN(SUBSTITUTE(","&SUBSTITUTE($A$1,", ",","), ","&B2,"")))/LEN(","&B2)

(Onde linhaBcontém as strings que você está tentando corresponder em A1.)


Como funciona:

  • Você pode notar que isso aparece duas vezes: ","&SUBSTITUTE($A$1,", ",",") Isso remove os espaços e adiciona uma vírgula na frente, então seu

sequência original: 11234,12345, 23456, 31423, 13009, 14001,24005, 12222, 21222, 33215, 21236

torna-se

novaString: ,11234,12345,23456,31423,13009,14001,24005,12222,21222, 33215,21236

  • Agora a fórmula longa poderia ser reescrita como:=(LEN(newString)-LEN(SUBSTITUTE(newString, ","&B2,""))) /LEN(","&B2)

  • Supondo que os dígitos iniciais que você está procurando estejam emB1(por exemplo:B1=1isso entra em colapso ainda mais assim:

=(LEN(newString)-LEN(SUBSTITUTE(newString, ",1" ))) /LEN(",1")

  • Portanto, temos: Obtenha o comprimento de toda a nova string (67) e subtraia o comprimento com todas as ocorrências de ,1removida (57). Isso lhe dá o número de caracteres ocupados por ,1(10). Divida pelo comprimento de ,1(2) para saber quantas vezes ,1ocorreu. (5)

Você pode arrastar esta fórmula pela linha A e colocar vários dígitos de "pesquisa" na linhaBe contará todos eles.

Embargo: Isso só funcionará se os números estiverem separados por vírgula e/ou por vírgula, como no seu exemplo.

Responder2

https://exceljet.net/formula/count-numbers-that-begin-withveja este site. Portanto, a fórmula é: =SOMAPRODUTO(--(ESQUERDA(L1:X20,1)="(coloque aqui o dígito que deseja encontrar)"))

informação relacionada