O Excel procura muitas cadeias de texto em uma célula por uma lista e retorna um valor equivalente

0

Então, eu tenho o problema que é pesquisar algumas seqüências de caracteres em uma célula pela lista. Por exemplo:

folha 1:

    A                                     B     C
   ---                                   ---   ---
1 | Cash in deposit (Branch A t/t)
2 | Borrowed from Corp. A
3 | Interest payment
4 | Int.panalty pmt
5 | Prin. Pmt
6 | Salary Pmt on April
7 | Sales abroad
8 | Branch C t/t
9 | Transferred from Company AA
10| Mortgages to DD ltd
11| Sal. Pmt on May

E na célula B1, eu insiro a fórmula assim:

=IF(COUNT(SEARCH({"branch","corp.","company"},A1))>0,"Precol.",IF(COUNT(SEARCH({"interest","int.","prin."},A1))>0,"lo.",IF(COUNT(SEARCH("sales",A1))>0,"Sa.",IF(COUNT(SEARCH({"sal.","Salary","wage","payroll"},A1))>0,"Se.","Others"))))

A fórmula é muito longa e muitos parênteses, isso não é bom se eu tiver uma lista longa para classificar.

Então, você poderia me ajudar a encurtar ou criar outra fórmula de forma mais eficaz do que isso?

    
por Minh Hung Le 06.07.2017 / 12:30

2 respostas

0

Minha fórmula antiga será longa se houver muitos argumentos.

Por fim, usei a função de pesquisa para resolver minha pergunta, que é a seguinte:

IFERROR (LOOKUP (2 ^ 5, PESQUISA (palavra-chave, A1), keystring), "outros")

Em que: - palavra-chave inclui Filial, corp, empresa ... e vendas - chave de teclas inclui Precol., Lo., Se., Sa.

Mas ainda não estou satisfeito, quero ter outras soluções além deles.

    
por 23.07.2017 / 17:30
0

Oh, acabei de procurar uma nova solução como esta: se eu nomear o intervalo para "branch, corp., company ... e sales" em keyword; o intervalo para "Precol., Lo., Se., Sa." em keystring. Minha fórmula será = IFERROR (INDEX (keystring, MATCH (TRUE, ISNUMBER (PESQUISA (palavra-chave, A1)), 0)), "Outros") e Ctrl-shift-enter. Eu terei o resultado semelhante.

    
por 24.07.2017 / 08:43