Notifications
Clear all

Retornar um valor através de uma matriz tabela

20 Posts
3 Usuários
0 Reactions
2,736 Visualizações
 Rech
(@rech)
Posts: 0
New Member
Topic starter
 

Boa tarde pessoal!

Estou em busca de uma solução que creio ser relativamente simples para meu problema.
Na planilha anexa, preciso que na célula N4 da guia "Globo" por exemplo, seja exibido o texto correspondente da coluna C da guia Plan1 (base de dados).

Exemplo: No dia 10/10/2014, foi feita a publicação Teste 1 no jornal Globo. Gostaria que na guia "Globo", fosse exibido o texto "Teste 1" no dia 10/10. Um controle dos das publicações em cima do calendário mensal.

Mas a fórmula deve funcionar para todos os dias do calendário. Acredito que não seja muito difícil, mas estou tendo dificuldades em elaborar o raciocínio!

Agradeço.

Thiago.

 
Postado : 27/10/2014 2:41 pm
(@gtsalikis)
Posts: 2373
Noble Member
 

Em N4, coloque:
=ÍNDICE(Plan1!$C$2:$C$5;SOMARPRODUTO((Plan1!$B$2:$B$5=DATA(ANO(Plan1!$T$1);Plan1!$H$1;O4))*LIN(Plan1!$B$2:$B$5))-1)

Replique para as demais células.

Abs

 
Postado : 27/10/2014 4:55 pm
 Rech
(@rech)
Posts: 0
New Member
Topic starter
 

Olá Gilmar!

Obrigado pela resposta, porém algo deu errado. Colei a fórmula na célula N4 e está retornando #Valor!.

Poderia checar, por favor?

Abs!

 
Postado : 27/10/2014 8:59 pm
(@gtsalikis)
Posts: 2373
Noble Member
 

Vc verificou se as datas sao a mesma? Se vc agendar algo em outubro, nao vai aparecer no calendario de agosto (e.g.)

 
Postado : 28/10/2014 4:16 am
 Rech
(@rech)
Posts: 0
New Member
Topic starter
 

Bom dia, Gilmar!

É que na verdade, a célula N4 é referente ao dia 11, e a data da Publicação que eu havia posto foi dia 10, por este motivo estava errado.
Fiz o teste ontem tarde da noite e não me atentei a este detalhe! Obrigado!

Repliquei para as demais células, porém quando não tem nenhuma publicação em alguma data, a fórmula retorna o #Valor!, qual seria o comando para que ficasse vazio caso não haja publicaçao?
Um outro problema que notei também, é que a fórmula puxa todas as publicações da base de dados, por exemplo, na guia "Globo", puxa também as publicações que seriam do jornal "Valor". Pintei as células de vermelho para destacar. As células verdes estão corretas.

Uma outra dúvida é que na base de dados a publicação é um hiperlink, é possível através da fórmula hipelink associada a essa puxar o link? Para facilitar separei o texto da publicação do diretório no PC.

Abraços e mais uma vez muito obrigado!!

 
Postado : 28/10/2014 6:02 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dia Rech

Acrescente a função SEERRO fórmula.
A fórmula da célula F3 ficará assim:

=SEERRO(ÍNDICE(Plan1!$D$2:$D$5;SOMARPRODUTO((Plan1!$B$2:$B$5=DATA(ANO(Plan1!$T$1);Plan1!$H$1;I3))*LIN(Plan1!$B$2:$B$5))-1);"")

[]s

 
Postado : 28/10/2014 8:11 am
 Rech
(@rech)
Posts: 0
New Member
Topic starter
 

Valeu, Patropi!

O problema do #Valor! está resolvido!

Agora preciso encontrar uma maneira de filtrar por jornal, como mencionei antes, as publicaçoes do "Globo" aparecerão no calendário do "Globo" e a do Valor, no calendário do "Valor".

E também a questão de trazer o hiperlink junto do texto da célula.

Abraços.

 
Postado : 28/10/2014 8:33 am
(@gtsalikis)
Posts: 2373
Noble Member
 

De noite eu vejo pra vc.

Abs

 
Postado : 28/10/2014 10:50 am
 Rech
(@rech)
Posts: 0
New Member
Topic starter
 

De noite eu vejo pra vc.

Abs

Valeu, Gilmar!

Ficarei no aguardo.

Abs.

 
Postado : 28/10/2014 12:04 pm
(@gtsalikis)
Posts: 2373
Noble Member
 

Paraa a célula N4, coloque:

=SEERRO(HIPERLINK(ÍNDICE(Plan1!$D$2:$D$5;SOMARPRODUTO((Plan1!$B$2:$B$5=DATA(ANO(Plan1!$T$1);Plan1!$H$1;O4))*(Plan1!$A$2:$A$5="Globo")*LIN(Plan1!$B$2:$B$5))-1);ÍNDICE(Plan1!$C$2:$C$5;SOMARPRODUTO((Plan1!$B$2:$B$5=DATA(ANO(Plan1!$T$1);Plan1!$H$1;O4))*(Plan1!$A$2:$A$5="Globo")*LIN(Plan1!$B$2:$B$5))-1));"")

Note que eu incluí o nome do jornal Globo ali na fórmula (Aparece 2x). Vc terá que substituir para cada jornal.

Ou, se preferir, vc pode deixar a planilha com o nome exato do jornal, e usar essa fórmula:

=SEERRO(HIPERLINK(ÍNDICE(Plan1!$D$2:$D$5;SOMARPRODUTO((Plan1!$B$2:$B$5=DATA(ANO(Plan1!$T$1);Plan1!$H$1;O4))*(Plan1!$A$2:$A$5=EXT.TEXTO(CÉL("nome.arquivo";$A$1);PROCURAR("]";CÉL("nome.arquivo";$A$1))+1;NÚM.CARACT(CÉL("nome.arquivo";$A$1))))*LIN(Plan1!$B$2:$B$5))-1);ÍNDICE(Plan1!$C$2:$C$5;SOMARPRODUTO((Plan1!$B$2:$B$5=DATA(ANO(Plan1!$T$1);Plan1!$H$1;O4))*(Plan1!$A$2:$A$5=EXT.TEXTO(CÉL("nome.arquivo";$A$1);PROCURAR("]";CÉL("nome.arquivo";$A$1))+1;NÚM.CARACT(CÉL("nome.arquivo";$A$1))))*LIN(Plan1!$B$2:$B$5))-1));"")

Abs

 
Postado : 28/10/2014 4:25 pm
 Rech
(@rech)
Posts: 0
New Member
Topic starter
 

Gilmar,

Ficou excelente!!
Muito obrigado!

Tenho somente mais 2 dúvidas:

1 - Eu utilizei a segunda fórmula, pois na minha planilha original não possuo somente 2 revistas, são mais. Mas a fórmula só está funcionando para 2 nomes, como na planilha de exemplo. Qual o campo da fórmula que preciso alterar para que possa abranger mais nomes de jornais, que utilizo na minha planilha original?

2 - Minha base de dados é alimentada por um UserForm. A fórmula que você elaborou para o calendário não está reconhecendo a data entrada pelo UserForm na coluna B, ela só funciona quando a data é digitada. No UserForm o campo de preenchimento da data está "", ou seja digito a data da mesma forma como se estivesse digitando na célula. Ah, e as células da coluna B estão formatadas como data.

São minhas últimas dúvidas!

Abraço cara!

 
Postado : 29/10/2014 8:05 am
 Rech
(@rech)
Posts: 0
New Member
Topic starter
 

Gilmar,

Ficou excelente!!
Muito obrigado!

Tenho somente mais 2 dúvidas:

1 - Eu utilizei a segunda fórmula, pois na minha planilha original não possuo somente 2 revistas, são mais. Mas a fórmula só está funcionando para 2 nomes, como na planilha de exemplo. Qual o campo da fórmula que preciso alterar para que possa abranger mais nomes de jornais, que utilizo na minha planilha original?

2 - Minha base de dados é alimentada por um UserForm. A fórmula que você elaborou para o calendário não está reconhecendo a data entrada pelo UserForm na coluna B, ela só funciona quando a data é digitada. No UserForm o campo de preenchimento da data está "", ou seja digito a data da mesma forma como se estivesse digitando na célula. Ah, e as células da coluna B estão formatadas como data.

São minhas últimas dúvidas!

Abraço cara!

**************** ERRATA *****************

A dúvida 1 eu já solucionei! A fórmula não está com problema, o problema na verdade que estava ocorrendo é este relacionado a dúvida 2.
Sabe como resolver o problema da dúvida 2?

Abraços.

 
Postado : 29/10/2014 8:22 am
(@gtsalikis)
Posts: 2373
Noble Member
 

Olha, a formula deveria funcionar. Seria interessante vc rever o codigo usado no userform.

No teu modelo de planilha nao tem userform, entao fica um pouco mais dificil dizer com precisão.

Abs

 
Postado : 29/10/2014 10:00 am
 Rech
(@rech)
Posts: 0
New Member
Topic starter
 

Gilmar,

Fiz alguns testes e descobri qual é o problema. A fórmula está reconhecendo, só que ao preencher somente o Userform a fórmula não retorna o valor da base de dados (fica em branco). É preciso entrar na célula da data, na coluna B, com F2 e apertar enter, aí sim a fórmula puxa o link.

Sabe como posso resolver isto?
Já fiz todos os testes possíveis e esse é o último problema que está impedindo de funcionar perfeitamente.

Obrigado mais uma vez!

 
Postado : 29/10/2014 12:48 pm
(@gtsalikis)
Posts: 2373
Noble Member
 

Cara, sem ver o teu Userform, fica difícil, mas tente jogar a data através do comando Cdate (Esse comando força a conversão para data.

Ficaria ago assim:

Sheets("Plan1").Range("B2").Value = CDate(TextBox1.Value)

Onde o que está em vermelho é o código que vc usa para identificar a célula que vai receber a data, e o que está em azul é o nome do textbox onde vc digita a data.

Abs

 
Postado : 29/10/2014 6:16 pm
Página 1 / 2