Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Dúvidas sobre cálculos, funções simples e aninhadas, fórmulas matriciais, etc.
#64514
Boa tarde pessoal, tudo bem?

Estou com uma dúvida e gostaria de uma ajuda.

Segue exemplo em anexo:

Objetivo - Fazer a busca entre as duas planilhas com uma função única

1 - Na primeira planilha temos os códigos internos de produtos que cada cliente possui
Cabeçalho: Nome Cliente, Código Interno

2- Na segunda planilha, temos uma matriz dos produtos, com os clientes e seus respectivos códigos
Cabeçalho: Id do produto, Códigos do cliente 1, Códigos do cliente 2, Códigos do cliente 3,..., Id do Produto novamente
para o ProcV


O resultado esperado, é ao comparar as duas planilhas, pegar o ID do produto da planilha 2, se o código de determinado cliente está na planilha dois, como mostrado na coluna em Amarelo.

O Problema é ter de fazer isso filtrando o cliente pois os dados de cada um na matriz, está em cada coluna.

Teria alguma fórmula que facilitaria esse trabalho levando em consideração +/- 50 clientes e mais de 400.000 Produtos?

Caso tenham ficado com alguma dúvida, só me chamar.

Desde já agradeço.

Abraços.
Você não está autorizado a ver ou baixar esse anexo.
#64526
#
Experimente:
Código: Selecionar todos
=ÍNDICE(Planilha2!B$1:F$1;;CORRESP(B2;DESLOC(Planilha2!B$1;CORRESP(C2;Planilha2!A$2:A$11;0);;;5);0))
#
obs.
1. na próxima vez em lugar de "???? coloque os resultados esperados
2. os resultados já não estão na coluna A da Planilha1 ?
3. não entendi a necessidade/utilidade da coluna ProdutoId Só para o PROCV :?:
#64601
Bom dia Osvaldo, tudo bem?

1 - O resultado esperado já está na coluna C, só que de uma forma onde eu filtro apenas o Cliente e faço o proc por ele, só que pensando em uma lista enorme de clientes, teria mais trabalho em filtrar do que trazer o resultado esperado

2 - Basicamente pense em 2 bases, a minha e a de meu cliente.
Na minha eu possuo os Produtos com seus dados: ID, Nome do Produto, Marca, Especificação e etc.
O Cliente possui o produto com os dados deles, e com o Código Interno dele.

Eu subo esse código interno do cliente no meu produto, então basicamente ficaria: ID, Nome do Produto, Marca, Especificação, CÓDIGO DO CLIENTE A, CÓDIGO DO CLIENTE B.

Só que para verificar pela base dele se o produto dele está inserido em minha base, preciso fazer essa comparação pelo código Interno do cliente, e trazer o ProdutoID da minha base, para trabalhar no produto.

3 - Procv - Esquerda - Direita, foi só pra deixar explicito que eu só sei fazer isso com ProcV mesmo.

VOU TESTAR SUA FÓRMULA E VOLTO COM O RESULTADO
#64602
osvaldomp escreveu: 11 Mai 2021 às 21:19 #
Experimente:
Código: Selecionar todos
=ÍNDICE(Planilha2!B$1:F$1;;CORRESP(B2;DESLOC(Planilha2!B$1;CORRESP(C2;Planilha2!A$2:A$11;0);;;5);0))
#
obs.
1. na próxima vez em lugar de "???? coloque os resultados esperados
2. os resultados já não estão na coluna A da Planilha1 ?
3. não entendi a necessidade/utilidade da coluna ProdutoId Só para o PROCV :?:
Acredito que tenha ficado um pouco confuso a coluna C da Planilha 1, ela é o resultado esperado, tanto que está com a fórmula que utilizo hoje, onde tenho que filtrar o cliente para fazer o ProcV.

O resultado esperado é justamente o ProdutoID da Planilha2, comparando pelo CódigoInterno do Cliente, só que de uma forma que antes de comparar o código interno, ele Verifica qual o cliente (Coluna A - Planilha 1) com o Nome do cliente na Planilha 2 que está no cabeçalho da Tabela.

Exemplificando com a linha 2 da planilha 1:

Se na tabela da planilha 2, o valor da célula do cabeçalho for igual a célula A2 Planilha1, então compara o código interno para pegar o ProdutoID.

A coluna C da planilha 1 é o resultado já, é esse ID que eu preciso, mas de forma que em apenas uma fórmula eu consiga ter o resultado para todos os produtos, sem ter de filtrar cliente na planilha 2 e fazer o Proc a partir de cada coluna.
#64605
#
Me parece que o que você quer é: procurar cada Código da coluna B da Planilha1 nas colunas B:F da Planilha2 e retornar o correspondente ProdutoId da coluna A da Planilha2.
Código: Selecionar todos
=ÍNDICE(Planilha2!A$2:A$11;SOMARPRODUTO(LIN(B$2:F$11)*(Planilha2!$B$2:$F$11=B2))-1)
caitanonetto agradeceu por isso
#64642
osvaldomp escreveu:#
Me parece que o que você quer é: procurar cada Código da coluna B da Planilha1 nas colunas B:F da Planilha2 e retornar o correspondente ProdutoId da coluna A da Planilha2.
Código: Selecionar todos
=ÍNDICE(Planilha2!A$2:A$11;SOMARPRODUTO(LIN(B$2:F$11)*(Planilha2!$B$2:$F$11=B2))-1)
osvaldomp escreveu:#
Me parece que o que você quer é: procurar cada Código da coluna B da Planilha1 nas colunas B:F da Planilha2 e retornar o correspondente ProdutoId da coluna A da Planilha2.
Código: Selecionar todos
=ÍNDICE(Planilha2!A$2:A$11;SOMARPRODUTO(LIN(B$2:F$11)*(Planilha2!$B$2:$F$11=B2))-1)
Perfeito Osvaldo, é isso mesmo, muito obrigado!!
osvaldomp agradeceu por isso
#64643
osvaldomp escreveu: 13 Mai 2021 às 14:28 #
Me parece que o que você quer é: procurar cada Código da coluna B da Planilha1 nas colunas B:F da Planilha2 e retornar o correspondente ProdutoId da coluna A da Planilha2.
Código: Selecionar todos
=ÍNDICE(Planilha2!A$2:A$11;SOMARPRODUTO(LIN(B$2:F$11)*(Planilha2!$B$2:$F$11=B2))-1)
Osvaldo, eu fui checar aqui, e o principal que eu preciso, que é a comparação pelo cabeçalho da planilha2 "nomes dos clientes" não funcionou. Pq pode acontecer de dois clientes terem o mesmo código, porem são para produtos diferentes

Basicamente tem que comparar por linha (código interno) e por coluna (nomes dos clientes) e ai, pegar o ProdutoID que correspondem as duas informações

Como mostro nesse exemplo em anexo
Você não está autorizado a ver ou baixar esse anexo.
#64666
caitanonetto escreveu: 14 Mai 2021 às 17:04 Pq pode acontecer de dois clientes terem o mesmo código, porem são para produtos diferentes
No arquivo do seu primeiro post não há códigos repetidos e você não havia informado que eles podem se repetir. :o :?:
Código: Selecionar todos
=ÍNDICE(Planilha2!F$1:F$20;CORRESP(B2;DESLOC(Planilha2!A$1;;CORRESP(A2;Planilha2!A$1:E$1;0)-1;20);0))
#
dica - para responder clique em +Resposta localizado abaixo da última postagem, só clique em Responder com citação se necessário ;)
caitanonetto agradeceu por isso
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord