Procurando em uma célula da direita para a esquerda, mas parando na primeira instância

0

Eu tenho a coluna A com "Nome do cliente - Número da conta (número de série)". Então, um exemplo poderia parecer:

ABC-12345 (1s39-a29a-23sh-akjf).  

O que estou tentando obter é apenas o nome do cliente "ABC".

O número de série é uma lista de caracteres constante, então usei:

=LEFT(A14, LEN(A14)-39) 

Que retornará "ABC-12345". Mas os números dos clientes (12345) têm comprimentos de caractere ligeiramente diferentes.

Então eu usei a fórmula:

=LEFT(A14,FIND("-",A14)-1)

Para me dar tudo o que resta do traço "-".

No entanto, alguns dos nomes das empresas também podem incluir um "-". Então, em vez de "J-Systems-12345", estou recebendo "J".

Existe alguma maneira de olhar da direita para a esquerda, mas pare de olhar para o primeiro "-" encontrado e retornar tudo o que resta desse "-"?

    
por That_one_guy 27.07.2016 / 18:10

1 resposta

0

Como o comprimento do seu número de série é fixo, podemos usar essa fórmula que encontrará o último - antes do número de série e usá-lo para limitar a função LEFT ():

 =LEFT(A1,FIND("}}}",SUBSTITUTE(A1,"-","}}}",LEN(LEFT(A1,LEN(A1)-22))-LEN(SUBSTITUTE(LEFT(A1,LEN(A1)-22),"-",""))))-1)

Eu tive que alterar o -39 para -22 , pois os dados forneceram apenas 22 caracteres à série. Talvez seja necessário colocá-lo de volta em -39 para seus dados reais.

    
por 27.07.2016 / 18:21