Localizando e extraindo o texto contido em uma lista

0

Então eu tenho uma grande tabela de dados. Uma das colunas inclui um ID único, vamos chamar de impressão digital. Na infinita sabedoria das pessoas que criaram a tabela, 1) A impressão digital não está localizada em nenhum outro lugar da tabela. 2) A impressão digital foi escrita manualmente por pessoas à medida que foram adicionadas à tabela. 3) Não há uma maneira padrão de escrever na impressão digital. Às vezes é no começo, no meio, no final ou em qualquer lugar entre os dois, em qualquer tamanho. Às vezes é espremido com texto, às vezes tem espaços ao redor dele. Diversão.

Eu tenho uma lista mestra de todas as impressões digitais. É uma gama nomeada FINGERPRINTS. Viva! Usando

 =SUMPRODUCT(--ISNUMBER(SEARCH(FINGERPRINT,O2)))

, eu consegui sinalizar as entradas que possuem impressões digitais e aquelas que não têm nenhuma. Eu estou lutando neste momento para realmente extrair as impressões digitais do texto. Eu tenho uma solução pobre, incluindo index-match-mid, onde eu movo manualmente o ponto de partida (cada impressão digital é de 9 dígitos), copiar e colar quando recebo um hit e seguir em frente, mas gostaria de automatizar o processo.

   =INDEX(FINGERPRINT,MATCH(MID(N3797,1,9),FINGERPRINT,0)). 

Idealmente, de alguma forma, posso obter o 1 em Mid para retornar o resultado que a função de busca está encontrando - eu não consigo entender como fazê-lo funcionar bem!

Tentando atualmente:

link - É quase perfeito. Por alguma razão, algumas das minhas impressões digitais estão sendo acionadas duas vezes em uma pesquisa, o que está errado. Mais investigações necessárias.

Editar 3: Quase funciona perfeitamente! Por alguma razão, algumas células com blahblahblah ativam uma impressão digital, mesmo que nenhuma exista. Além disso, está acionando diferentes impressões digitais para cada um. Hmm ....

    
por Selkie 07.03.2017 / 18:48

1 resposta

1

Use seu primeiro no segundo:

=INDEX(FINGERPRINT,MATCH(TRUE,ISNUMBER(SEARCH(FINGERPRINT,O2)),0))

E entre com Ctrl-Shift-Enter em vez de Enter ao sair do modo de edição.

G1: G4 é um intervalo chamado FINGERPRINT

    
por 07.03.2017 / 20:38