Ir ao conteúdo

Excel Mais argumentos na função SES + PROCV do que o Excel permite


Ir à solução Resolvido por AfonsoMira,

Posts recomendados

Postado

Boa noite, eu estou montando uma planilha para me ajudar a montar alguns orçamentos. Ocorre que nesses orçamentos preciso analisar 22 tabelas e cada tabela tem pelo menos 3 informações que eu gostaria que fossem extraídas e preenchidas de maneira automática, dependendo do fornecedor do produto.

 

Eu não sou um expert em Excel e fui aprendendo sempre que necessário, então acho que montei uma função muito maior do que o necessário e cai no erro "foram inseridos mais argumentos para essa função do que o permitido para o formato de arquivo atual".

 

A fórmula que montei consiste em analisar o fornecedor na coluna "I" (na planilha "Bordas") e se ele for igual ao fornecedor da célula "L3" (na planilha "1") entra no PROCV e busca na tabela correspondente ao fornecedor encontrado as informações do produto que foi selecionado na coluna "E" (na planilha "Bordas"), e vai seguindo essa sequência, analisando todas as 22 possíveis variáveis. Mas como mencionei anteriormente, eu cai no erro dos argumentos em excesso, gostaria de saber se consigo simplificar essa fórmula.

Segue a fórmula em questão (vou deixar grifado em verde até onde o Excel permite os argumentos):

 

=SEERRO(SES($I22='1'!$L$3;PROCV(Bordas!$E22;Arauco!$I$3:$L$120;2;FALSO);$I22='1'!$L$4;PROCV(Bordas!$E22;Berneck!$J$3:$M$89;2;FALSO);$I22='1'!$L$5;PROCV(Bordas!$E22;Duratex!$J$3:$M$123;2;FALSO);$I22='1'!$L$6;PROCV(Bordas!$E22;Eucatex!$J$3:$L$64;2;FALSO);$I22='1'!$L$7;PROCV(Bordas!$E22;Fibraplac!$B$3:$E$47;2;FALSO);$I22='1'!$L$8;PROCV(Bordas!$E22;Floraplac!$J$3:$M$32;2;FALSO);$I22='1'!$L$9;PROCV(Bordas!$E22;Greenplac!$J$3:$M$23;2;FALSO);$I22='1'!$L$10;PROCV(Bordas!$E22;Guararapes!$J$3:$M$70;2;FALSO);$I22='1'!$L$11;PROCV(Bordas!$E22;Lopar!$B$3:$E$34;2;FALSO);$I22='1'!$L$12;PROCV(Bordas!$E22;'Placas do Brasil'!$J$3:$M$32;2;FALSO);$I22='1'!$L$13;PROCV(Bordas!$E22;Sudati!$J$3:$M$50;2;FALSO);$I22='1'!$L$14;PROCV(Bordas!$E22;Fórmica!$B$3:$E$73;2;FALSO);$I22='1'!$L$15;PROCV(Bordas!$E22;Pertech!$B$3:$E$43;2;FALSO);$I22='1'!$M$3;PROCV(Bordas!$E22;Arauco!$A$3:$D$44;2;FALSO);$I22='1'!$M$4;PROCV(Bordas!$E22;Berneck!$B$3:$E$21;2;FALSO);$I22='1'!$M$5;PROCV(Bordas!$E22;Duratex!$B$3:$E$87;2;FALSO);$I22='1'!$M$6;PROCV(Bordas!$E22;Eucatex!$B$3:$E$21;2;FALSO)$I22='1'!$M$7;PROCV(Bordas!$E22;Floraplac!$B$3:$E$14;2;FALSO);$I22='1'!$M$8;PROCV(Bordas!$E22;Greenplac!$B$3:$E$23;2;FALSO)$I22='1'!$M$9;PROCV(Bordas!$E22;Guararapes!$B$3:$E$66;2;FALSO);$I22='1'!$M$10;PROCV(Bordas!$E22;'Placas do Brasil'!$B$3:$E$32;2;FALSO);$I22='1'!$M$11;PROCV(Bordas!$E22;Sudati!$B$3:$E$13;2;FALSO));"")

Postado

@Guilhermepa3

Experimente com a seguinte fórmula:
 

=VLOOKUP(E19,INDIRECT("'"&IFERROR(INDEX('1'!$M$2:$M$15,MATCH(Bordas!I19,'1'!$L$2:$L$15,0),1),I19)&"'!"&IF(H19="Revenda","$A$3:$D$65536","$I$3:$L$65536")),3,0)

 

A fórmula vai verificar se é Revenda ou Industria, caso seja Revenda é do intervalo de A:D e se for Industria no intervalo I:L.

Depois verifica qual o nome da planilha.

E entrega o valor pretendido caso exista caso não exista retorna o erro #N/A

 

Lembrando terá que alterar as planilhas para que dê certo.

Colocar as tabelas de Revenda no intervalo de A:D e as tabelas de Industria no intervalo de I:L

 

Postado

@AfonsoMira

 

Então, eu coloquei o código que você mencionou e deu erro “encontramos um problema na fórmula” como mostra no print que tirei, ai percebi que era porque os parâmetros estavam sendo divididos por “,” e não “;”, mas após eu substituir deu o erro “#NOME?”.

 

Eu segui os passos que você falou, alterei a posição das tabelas, Revenda no intervalo A:D e Indústria no intervalo I:L e colei a fórmula que o senhor me passou no célula D19 para testar para ver se puxaria o código de alguma das tabelas.

 

Uma outra questão que surgiu é, eu posso usar essa mesma fórmula para achar todas as três informações que gostaria? Código, textura e linha do produto? Respectivamente células D19, C19 e B19161B1EFE-5DBC-4BA5-A176-13AB003D94F4.jpeg.6e215e30a695c5e70cdbb62fb2b5d59a.jpeg564FCB30-6C05-4EC3-AB5E-B2171C410A75.jpeg.e777eb2be61e04a322f761d8f9d9b84b.jpeg

Postado

@Guilhermepa3
Já sei porque está dando erro.
Eu envie-lhe a fórmula em Inglês
Aqui está em português:  

=PROCV(E19;INDIRETO("'"&SEERRO(ÍNDICE('1'!$M$2:$M$15;CORRESP(Bordas!I19;'1'!$L$2:$L$15;0);1);I19)&"'!"&SE(H19="Revenda";"$A$3:$D$65536";"$I$3:$L$65536"));3;0)

 

3 minutos atrás, Guilhermepa3 disse:

Uma outra questão que surgiu é, eu posso usar essa mesma fórmula para achar todas as três informações que gostaria? Código, textura e linha do produto? Respectivamente células D19, C19 e B19

Sim, basta trocar o que está a verde no código abaixo: 
=PROCV(E19;INDIRETO("'"&SEERRO(ÍNDICE('1'!$M$2:$M$15;CORRESP(Bordas!I19;'1'!$L$2:$L$15;0);1);I19)&"'!"&SE(H19="Revenda";"$A$3:$D$65536";"$I$3:$L$65536"));3;0)

Sendo que o 3 é o número da Coluna da matriz de A:D ou de I:L
Sendo assim, troque o 3 por:

  • 2 - Código
  • 3 - Linha
  • 4 - Textura

 

Postado

@AfonsoMira desculpa a trabalheira. 

 

Alterei aqui o código na planilha mas surgiu um novo erro, acredito que seja porque na tabela matriz indústria/revenda, que contem o nome dos fornecedores na planilha “1” esteja com um número de dados diferente na coluna L(indústria) e na coluna M(revenda), eu não completei esta tabela matriz pois não existe tabela de revenda da fibraplac, lopar, fórmica e pertech. Inclusive o erro ocorre justamente quando eu seleciono indústria fibraplac:pertech.

 

Não sei ao certo se é realmente esse o motivo do erro, pois completei a tabela mas também não  funcionou :(

 

Segue as imagens 14522C2D-9C0A-4538-A988-0DDA3DE204F8.jpeg.cc1c4004eda0d16536b8bec5f430b619.jpeg98B7AA31-2383-450F-93E5-02847DBC6C96.jpeg.31a6d686e79bee8a025321520e7ea55b.jpeg

Postado
17 minutos atrás, Guilhermepa3 disse:

desculpa a trabalheira. 

Sem problemas,

Peço desculpas pois o erro foi mesmo meu.
Veja se assim funciona:
 

=PROCV(E19;INDIRETO("'"&I19&"'!"&SE(H19="Revenda";"$A$3:$D$65536";"$I$3:$L$65536"));3;0)


Já a tabela da Planilha 1 da industria e da revenda você pode apagar.

 

Lembrando.
Colocar as tabelas de Revenda no intervalo de A:D e as tabelas de Industria no intervalo de I:L
Caso algum não tenha Revenda coloque na mesma a industria no intervalo de I:L, deixando o intervalo A:H em branco

Postado

@AfonsoMira

 

Tentei com este novo código porém também não funcionou, agora todas as indústrias aparecem com o erro “#REF!”, e agora a revenda PlacasdoBrasil também está com o erro “#REF!”

 

55 minutos atrás, AfonsoMira disse:

Já a tabela da Planilha 1 da industria e da revenda você pode apagar.

Então, eu não posso apagar essa tabela pois na coluna H e coluna I da planilha “bordas” eu uso ela como referência para uma validação de dados com lista. 

As tabelas estão nos intervalos exatos, Revenda A:D e Indústria I:L, quando não tem Revenda o intervalo A:H permanece em branco. 

 

Segue o print do erro. 
E7FC65BE-9F5E-4451-A251-94C8D05BC470.jpeg.5e8459483f7db764e94525900ba5c239.jpeg

Postado

@AfonsoMira Mil desculpas, foi falha minha!!

 

Na ideia de tentar deixar mais claro para quem for utilizar a planilha eu diferenciei, por exemplo, arauco industria de arauco revenda utilizando um “.” no arauco industria quando puxado pela validação de dados. Que idiotice a minha, pois o nome das planilhas estava sem o ponto!

 

Esse erro “#REF!” foi solucionado, porém agora na coluna E, surgiu um conflito, pois como não existe mais a diferenciação de arauco industria para arauco revenda com o “.” a validação de dados na coluna E puxa apenas a lista de arauco revenda, por exemplo e não me fornece as opções de produtos da tabela arauco indústria. Será que existe uma forma de solucionar esse conflito?

 

Vou deixar em anexo a planilha da forma que está agora, será que você poderia me ajudar nessa última questão?EAD1D947-8206-4450-AD07-1B228795131F.thumb.jpeg.c9be45b2b2fc65b3890b8b3eb0aa7f03.jpegFormulário Orçamento -atualizado - Copia OK.xlsx

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...