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
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 ....