Corresponder um número de item ao número abreviado apropriado do item no Excel

0

Eu tenho uma lista de números de itens abreviados com os dados correspondentes da taxa de comissão. Quando eu baixa dados de vendas, eles contêm números de itens completos. Quero corresponder o número completo do item à abreviação correta (outra guia na pasta de trabalho). A abreviação correta corresponde ao início do número do item correspondente - as abreviações variam em tamanho entre 3 e 5 caracteres.

Como posso recuperar a abreviação apropriada, dado o número completo do item?

Richard Pullman
fonte
Estou assumindo que os números abreviados de itens mais curtos podem ter caracteres em comum com números abreviados de itens mais longos. Ou seja, você pode ter números abreviados como "12" e "123" e "1234". Corrigir?
chuff
Richard, você se importaria em fornecer vários exemplos de abreviações e os números de itens correspondentes?
Dane
Portanto, temos 057GK que é a abreviação de números de peça 057GK12, 057GK20 e 057GK31 ... Eu quero escrever uma fórmula que encontra 057GK dada qualquer um dos números de peça acima
Richard Pullman
Sempre existem apenas 2 caracteres após o número da peça (como seu exemplo)? Ou poderia haver 057GK5 e 057GK124?
Dane
Existe alguma regra que indique quando a abreviação tem 3, 4 ou 5 caracteres?
Jerry

Respostas:

1

Aqui está uma abordagem que aborda os diferentes comprimentos dos números de itens e códigos abreviados, bem como a possibilidade de que códigos abreviados de comprimentos diferentes compartilhem alguns números ou letras iniciais.

Ele usa três colunas auxiliares que correspondem exatamente VLOOKUPsao código abreviado dos primeiros 3, 4 e 5 caracteres, respectivamente, de cada item. Uma correspondência pode ser encontrada em qualquer uma, todas ou (no caso de dados incorretos) nenhuma dessas pesquisas de código abreviado.

A quarta coluna de cálculo contém as fórmulas selecionadas entre os resultados das três VLOOKUPs.

As regras de seleção são simples. Se uma única correspondência for encontrada na lista de códigos abreviados, o código correspondente será retornado. Se duas ou três correspondências forem encontradas, a correspondência com o maior número de caracteres será retornada. Se nenhuma correspondência for encontrada para um item, as fórmulas retornam o valor de erro # N / A.

As expressões de seleção na quarta coluna dos cálculos são fórmulas de matriz e devem ser inseridas com a combinação de teclas Control- Shift- Enter(ou seja, a fórmula na primeira linha deve ser inserida assim e, em seguida, pode ser copiada na parte inferior da lista de números de itens )

Para as fórmulas de exemplo abaixo, uma lista de números de itens completos está nas células A2:A10da Planilha 1. Uma lista de códigos abreviados está nas células A2:A10da Planilha 2. As fórmulas auxiliares estão nas colunas B-Dda Planilha1 e as fórmulas da matriz de seleção estão na coluna Edessa planilha . (A fórmula da matriz de exemplo deve estar totalmente visível movendo a barra de rolagem para a direita.)

As fórmulas

Cell B2:   =VLOOKUP(LEFT($A2,3),Sheet2!$A$2:$A$10,1,0)
Cell C2:   =VLOOKUP(LEFT($A2,4),Sheet2!$A$2:$A$10,1,0)
Cell D2:   =VLOOKUP(LEFT($A2,5),Sheet2!$A$2:$A$10,1,0)

Cell E2:   =IFERROR(INDEX($B2:$D2,1,MAX(NOT(ISERROR($B2:$D2))*TRANSPOSE(ROW($1:$3)))),#N/A)

Vou explicar brevemente como a quarta fórmula funciona.

  • NOT(ISERROR($B2:$D2))retorna uma matriz de três elementos de valores TRUE / FALSE, com TRUE para as colunas auxiliares (em uma linha específica) que possuem uma correspondência e FALSE caso contrário. Por exemplo, {TRUE, TRUE, FALSE}.

  • TRANSPOSE(ROW($1:$3)) simplesmente fornece a matriz {1, 2, 3}, cada número indicando uma das colunas auxiliares.

  • O produto deles - NOT(ISERROR($B2:$D2))*TRANSPOSE(ROW($1:$3)))- produz uma matriz com os valores 1, 2 ou 3 para as colunas com uma correspondência e zero caso contrário, como em {1, 2, 0}.

  • A MAXfunção retorna o maior número nessa matriz, que corresponde à coluna auxiliar que retornou a correspondência com o maior número de caracteres. Na matriz {1, 2, 0}, MAXretorna 2, para uma correspondência na coluna C, a segunda das colunas auxiliares.

  • INDEX depois seleciona o código abreviado na coluna C.

  • Por fim, a IFERRORfunção retornará # N / A se nenhum código abreviado correspondente foi encontrado.


Folha1

Sheet1e


Sheet2

Sheet2

chuff
fonte
Isso é bem legal e mais flexível do que minha abordagem existente. Eu vou implementar isso hoje. Obrigado mano!
9133 Richard Pullman
Richard, se isso resolver seu problema, seria ótimo se você pudesse aceitar a resposta (a marca de seleção). Receberei crédito por uma resposta útil e outras pessoas poderão dizer facilmente que a resposta funcionou para você. Obrigado!
chuff
0

Se o número do item for sempre seguido por dois dígitos / caracteres, como nos dados de exemplo (057GK12, 057GK20 e 057GK31), o seguinte fornecerá o número do item:

=LEFT(A1,LEN(A1)-2)

Se você estiver tentando encontrar a célula que contém a abreviação, faça algo assim:

=MATCH(LEFT(A1,LEN(A1)-2),Sheet2!B:B,0)

Se você estiver tentando encontrar o valor total da abreviação, faça algo assim:

=MATCH(B1&"??",Sheet1!A:A,0)

Eles fornecem apenas o primeiro resultado na coluna. Isso também pressupõe que os números e abreviações dos itens sejam formatados como texto e não como valores.

dinamarquês
fonte
Sim, infelizmente os números dos itens têm comprimentos variados, portanto não há um formato definido. Eu acho que vou atualizar a tabela para incluir cada número de item para que eu possa usar um vlookup.
Richard Pullman