Verifique se a célula contém subcadeia na lista - Excel 2007

0

Eu tenho uma lista chamada ImageExtensionList que consiste em extensões de imagem.

Aquiestáminhavalidaçãodedadospersonalizada.

Agora,pensandologicamente,ovaloremJ2pesquisaráseexistiremImageExtensionList

Agora,quandotenteitestarosdados,elefuncionaapenasnoprimeirovalordalista.Masquandoeutenteijpgoujpegelepedeumerroquenãoexiste.

Alguém pode me ajudar por que isso não funciona? Eu encontrei muitas referências, postagens, artigos em SO ou em alguns sites. Tentei muitos deles, mas por algum motivo não funciona.

    
por Wesley Brian Lachenal 25.10.2016 / 09:47

1 resposta

1

A função SEARCH é usada para procurar algum texto dentro de outro texto. Não é o que você precisa aqui. Além disso, você não pode simplesmente procurar o nome do arquivo inteiro, você precisa extrair a extensão primeiro.

Esta é a fórmula de validação de que você precisa:

=COUNTIF(ImageExtensions, RIGHT(J2,LEN(J2)-FIND(".",J2)))>0

Como funciona:

  1. FIND(".",J2) encontra a posição do caractere de período, onde a extensão do arquivo é iniciada.
  2. LEN(J2)-FIND(".",J2)) nos dá o tamanho da extensão do arquivo.
  3. RIGHT(J2,LEN(J2)-FIND(".",J2)) leva x caracteres do lado direito do nome do arquivo, onde x é o tamanho da extensão, o que nos dá a extensão do arquivo.
  4. COUNTIF(ImageExtensions, RIGHT(J2,LEN(J2)-FIND(".",J2))) é usado para contar quantas ocorrências da extensão do arquivo existem na lista ImageExtensions. Qualquer valor acima de 0 é bom.
por 25.10.2016 / 10:26