Tópico de todas as dúvidas em excel.

Boas,

Estou aqui a fazer uma folha e queria cruzar informação com a lista condicionada, e consigo fazer isso para as 3 opções que tenho(Muito Bom,Bom Médio), mas queria agora comparar a informação com os 3 ao mesmo tempo como posso fazer isso?

e4cce7d55f35c7395333a2ab4ae79153.PNG
 

Anexos

  • e4cce7d55f35c7395333a2ab4ae79153.jpg
    e4cce7d55f35c7395333a2ab4ae79153.jpg
    9KB · Visualizações: 0
Nao é Excel, mas como se esteve a falar de Bases de Dados Relacionais, aqui vai. Se alguém me puder e souber ajudar, claro.

Imaginem que eu tenho que fazer um relatório periódico (por exemplo de vendas), cujo número de dias é variável. E tem que ser lançado nesse mesmo relatório.

Crio uma tabela para os relatórios.

E agora como é que relaciono um único relatório com um ou mais dias? A minha ideia neste momento passa por criar uma tabela de dias, em que vou ter uma chave estrangeira vinda da tabela relatórios. Uma relação de um para muitos entre relatórios e dias.

Isto para poder por exemplo, lançar (numa outra tabela) despesas com um dia associado, e poder ter no relatório que abrange o dia dessa despesa, a despesa associada (uma ou muitas) para assim apurar um resultado (vendas menos despesas).

Mas, criar uma tabela para dias não me parece muito bem. Aparenta ser uma entropia desnecessária no esquema das coisas, só que eu com pouca experiência no desenho de base de dados relacionais, não estou a conseguir pensar melhor do que isto :confused:
 
Pergunta eventualmente básica...
Para uma data tipo 22-10-2009 15:00:00 (40108,625 em decimal) ou seja dd-mm-aaaa hh:mm:ss como é que consigo adicionar 5 anos à data de forma auto?

Edd :)
 
Pergunta eventualmente básica...
Para uma data tipo 22-10-2009 15:00:00 (40108,625 em decimal) ou seja dd-mm-aaaa hh:mm:ss como é que consigo adicionar 5 anos à data de forma auto?

Edd :)

[TABLE="class: collapse"]
[TR="class: trbgeven"]
[TH="class: thhead"]A[/TH]
[TH="class: thhead"]B[/TH]
[/TR]
[TR="class: trbgodd"]
[TH="class: thhead"]Data[/TH]
[TH="class: thhead"]Anos a adicionar[/TH]
[/TR]
[TR="class: trbgeven"]
[TD="class: noborder"]09.06.07[/TD]
[TD="class: noborder"]3[/TD]
[/TR]
[TR="class: trbgodd"]
[TD="class: noborder"]02.09.07[/TD]
[TD="class: noborder"]5[/TD]
[/TR]
[TR="class: trbgeven"]
[TD="class: noborder"]10.12.08[/TD]
[TD="class: noborder"]25[/TD]
[/TR]
[TR="class: trbgodd"]
[TH="class: thhead"]Fórmula[/TH]
[TH="class: thhead"]Descrição (Resultado)[/TH]
[/TR]
[TR="class: trbgeven"]
[TD="class: noborder"]=DATA(ANO(A2);+B2;MÊS(A2);DIA(A2))[/TD]
[TD="class: noborder"]Adicionar 3 anos a 6/9/2007 (6/9/2010)[/TD]
[/TR]
[TR="class: trbgodd"]
[TD="class: noborder"]E=DATA(ANO(A3);+B3;MÊS(A3);DIA(A3))[/TD]
[TD="class: noborder"]Adicionar 5 anos a 9/2/2007 (9/2/2012)[/TD]
[/TR]
[TR="class: trbgeven"]
[TD="class: noborder"]=DATA(ANO(A4);+B4;MÊS(A4);DIA(A4))[/TD]
[TD="class: noborder"]Adicionar 25 anos a 12/10/2008 (12/10/2033)[/TD]
[/TR]
[/TABLE]
 
Pergunta eventualmente básica...
Para uma data tipo 22-10-2009 15:00:00 (40108,625 em decimal) ou seja dd-mm-aaaa hh:mm:ss como é que consigo adicionar 5 anos à data de forma auto?

Edd :)

Supondo que a data inicial está na célula A1, introduzir a seguinte fórmula em B1:

=DATAM(A1;60)+A1-INT(A1)

Em que 60 representa o número de meses contados até à data final. Neste caso 5 anos = 60 meses e

+A1-INT(A1) irá acrescentar as horas, minutos e segundos da data inicial.

Penso que resolve integralmente o problema.
 
Só hoje pude voltar a este assunto...
A solução do 1826 parece resultar bem e é a mais simples.

Na solução que o
mmiigguueell dá não me está a somar as horas e como não estou com tempo para grandes averiguações vai ter que servir o 1826, para o que é serve.

Obrigado,
Edd :)
 
Alguém me sabe dizer como saber o valor da ultima célula preenchida numa certa coluna (C, a partir de C2).

Já tentei (que encontrei por aí)

=PROC(2,1/(C2:CA100<>""),C2:C100)

=ÍNDICE(C:C,CONTAR(C:C))

=ÍNDICE(C:C,CONTAR.VAL(C:C) + 1)

Mas não consigo que funcione nenhum (dá sempre erro da formula).

Alguém me pode ajudar :( ?

edit: encontrei esta que funciona :) , mas se entretanto alguém souber porque é que não dão as outras, agradeço na mesma !

=PROC(2;1/(NÚM.CARACT(C2:C100)>0);C2:C100)
 
Última edição:
Alguém me sabe dizer como saber o valor da ultima célula preenchida numa certa coluna (C, a partir de C2).

Já tentei (que encontrei por aí)

=PROC(2,1/(C2:CA100<>""),C2:C100)

=ÍNDICE(C:C,CONTAR(C:C))

=ÍNDICE(C:C,CONTAR.VAL(C:C) + 1)

Mas não consigo que funcione nenhum (dá sempre erro da formula).

Alguém me pode ajudar :( ?

edit: encontrei esta que funciona :) , mas se entretanto alguém souber porque é que não dão as outras, agradeço na mesma !

=PROC(2;1/(NÚM.CARACT(C2:C100)>0);C2:C100)

Um simples contar valores nao faz isso?
 
Alguém me sabe dizer como saber o valor da ultima célula preenchida numa certa coluna (C, a partir de C2).

Já tentei (que encontrei por aí)

=PROC(2,1/(C2:CA100<>""),C2:C100)

=ÍNDICE(C:C,CONTAR(C:C))

=ÍNDICE(C:C,CONTAR.VAL(C:C) + 1)

Mas não consigo que funcione nenhum (dá sempre erro da formula).

Alguém me pode ajudar :( ?

edit: encontrei esta que funciona :) , mas se entretanto alguém souber porque é que não dão as outras, agradeço na mesma !

=PROC(2;1/(NÚM.CARACT(C2:C100)>0);C2:C100)
Usas o match + o count (ou counta)
 
Usas o match + o count (ou counta)
Ó diabo, enganei-me.
O Index() dá-te, dentro de uma matriz, o valor da coluna e linha que escolheres.
Linha - Para devolver a linha (o último valor), tens que explicar que queres a última preenchida e então usas o counta()
Coluna - Se estás a procurar numa só coluna escreves "1"

Escreve uma lista de disparates na coluna A e numa outra célula põe: =INDEX(A:A;COUNTA(A:A);1)
 
(...)
=PROC(2,1/(C2:CA100<>""),C2:C100)
(...)
edit: encontrei esta que funciona :) , mas se entretanto alguém souber porque é que não dão as outras, agradeço na mesma !

=PROC(2;1/(NÚM.CARACT(C2:C100)>0);C2:C100)

Os diversos parâmetros das funções são originalmente separados por vírgulas.
Mas, como na nossa configuração (portugal) a vírgula representa o separador decimal, o excel usa o ponto-e-vírgula como separador.
Assim, quando vais buscar fórmulas à net, tens de ter o cuidado de substituir as vírgulas por ponto-e-vírgulas.
Por exemplo, a primeira fórmula ficaria: =PROC(2;1/(C2:CA100<>"");C2:C100)
 
Alguém me sabe dizer como saber o valor da ultima célula preenchida numa certa coluna (C, a partir de C2).

Já tentei (que encontrei por aí)

=PROC(2,1/(C2:CA100<>""),C2:C100)

=ÍNDICE(C:C,CONTAR(C:C))

=ÍNDICE(C:C,CONTAR.VAL(C:C) + 1)

Mas não consigo que funcione nenhum (dá sempre erro da formula).

Alguém me pode ajudar :( ?

edit: encontrei esta que funciona :) , mas se entretanto alguém souber porque é que não dão as outras, agradeço na mesma !

=PROC(2;1/(NÚM.CARACT(C2:C100)>0);C2:C100)


De facto a fórmula =PROC(2;1/(C:C<>"");C:C) funciona na perfeição para resolver o problema, mas confesso que não consigo perceber a sua lógica.


Se eu tivesse que resolver este problema utilizaria uma das seguintes soluções:

a) Se todas as células do intervalo obrigatoriamente contivessem um valor: =INDICE(C:C;CONTAR.VAL(C:C)) (o +1 só será necessário se a célula C1 estiver em branco)

b) Se algumas células do intervalo pudessem estar em branco: {=INDICE(C:C;MÁXIMO(SE(C:C<>"";LIN(C:C);0))){ (ter em atenção que as { significam que se trata de uma fórmula matriz)
 
Última edição:
Voltar
Superior