Anda di halaman 1dari 32

Excel – Entrada de dados duplicados.Validação. Função CONTAR.

SE()

Será que é possível arranjar um aviso de cada vez que se colocar informação
duplicada numa coluna.

Ex : Numa folha de Excel com uma tabela onde apliquei filtros nas colunas.
A B
1 12456 José
2 12354 Maria
3 12456 Manuel

Portanto, ao introduzir o nº em A3 aparecer um aviso de que aquele numero já


estava escrito.

O que se pretende será, então o seguinte:

Para obter o resultado, podemos optar pela denominada “Validação de Dados” e


criar uma fórmula que nos permita saber se o valor digitado já consta no Range
estabelecido e, nesse caso, apresentar a mensagem de aviso.

Seguem-se os passos a dar:

1. Marca-se o Range pretendido. No caso do exemplo, o Range será A1:A3,


devendo iniciar-se a marcação sempre na célula de numeração mais baixa (ex:
A1);
2. De seguida, clica-se no menu “DADOS” e escolhe-se o item “Validação de
Dados”.
3. De seguida, escolhe-se o tabulador “Definições. É aqui que iremos escolher o
critério de validação, no exemplo: “Personalizar” e inserirmos a fórmula:

=CONTAR.SE($A$1:$A$3;A1)=1

Formador:
VÍTOR PINTO Excel Avançado – Dicas e Truques [1]
4. Depois, para termos o aviso de erro, escolhemos o tabulador com o mesmo
nome

Assim, se digitarmos o valor duplicado em A3, irá aparecer a mensagem acima


apresentada.

De notar que, na mensagem há duas opções relevantes: Ou para continuar (SIM) ou


para não continuar (NÃO).

Se clicar,os em SIM:

Formador:
VÍTOR PINTO Excel Avançado – Dicas e Truques [2]
o resultado será o da aceitação do valor duplicado

Se for NÃO, o resultado será a activação da célula em causa, para permitir a


correcção

Excel – As funções SE() e OU()

Numa coluna tenho várias leituras, uma por cada dia:

Dia Leitura Consumo Dia


1 150
2 160 10
3 165 5

O "problema" é que depois posso ter dia(s) sem leituras e isso baralha as contas do
consumo:

Dia Leitura Consumo Dia


1 150
2 160 10
3 165 5
4 -165
5 180 180

Formador:
VÍTOR PINTO Excel Avançado – Dicas e Truques [3]
Existe alguma maneira "simples" de dar a volta à questão? É que posso ter um dia ou
vários sem serem preenchidos (a solução básica é dizer ao utilizador quando não há
leitura para copiar a anterior mas estava a ver se conseguia dar a volta à questão).

Bom, o que se pretende é:

Para se conseguir este efeito, reflectido na coluna C (Consumo/Dia), a partir dos


dados inseridos na coluna B (Leitura), procurou-se criar uma tabela na coluna E (a partir
de E2), como segue:

Esta tabela, na coluna E, serve para ir dando os valores acumulados diariamente,


iniciando em E2, como sendo a leitura do final do mês anterior. A coluna B, será a
coluna onde serão inseridos os valores correspondentes às leituras diárias. Assim, se,
por exemplo, no dia 3 a leitura for zero (0) ou sem valor (como no dia 8), sendo o
consumo do dia igualmente zero (0), a tabela terá que reflectir que o valor acumulado se
mantém o mesmo do(s) dia(s) anterior(es) (no exemplo, 162). Então, no dia 4, ao fazer-
se uma leitura, que será sempre superior ao valor acumulado, irá dar um valor de

Formador:
VÍTOR PINTO Excel Avançado – Dicas e Truques [4]
consumo igual à diferença entre o último dia com consumo e o presente (no exemplo,
8), passando, assim, na tabela de referência, de 162, para 170 (162 + 8 = 170).

Agora, vamos às fórmulas necessárias para se conseguir o resultado pretendido:

Na coluna C, começando em C3 e depois copiando a fórmula até ao dia pretendido


(normalmente 30 ou 31 – no exemplo, apenas até C12 – dia 10):

=SE(OU(E2=FALSO;B3=0);0;B3-E2)

Na coluna E, começando em E3 e depois copiando a fórmula até ao dia pretendido


(normalmente 30 ou 31 – no exemplo, apenas até E12 – dia 10):

=SE(B3=0;-(B3-E2);B3)

Excel – Somar sob determinados critérios

“ Se eu digitar a seguinte fórmula numa célula = CONTAR.SE(E5:K5;”P”) e se


existir algum “P” no range E5:K5, a célula é contada.

E se eu quiser contar nesse mesmo range as células que contenham “P”, “T” e “L”?

Vejamos o exemplo:

O resultado será 2.

Mas, se incorporarmos o “T” e o “L”, o resultado será 4.

Novamente o exemplo, com a fórmula adequada ao resultado pretendido.

Formador:
VÍTOR PINTO Excel Avançado – Dicas e Truques [5]
Excel – Localizar e Substituir

“ Preciso saber como alterar o conteúdo de um conjunto de células mas tenho a


seguinte dificuldade:

Numa célula ou em várias tenho, por exemplo =soma(a5:a15), quero alterar o "5"
para "6" passando a ter =soma(a6:a15) e o que obtenho é =soma(a6:a16), como posso
apenas alterar o primeiro "5" sem mexer no segundo "5"?”

Para obstar tal situação, teremos que nos socorrer de algum expediente.

Assim, para obtermos o componente Range “A15”, sem que o mesmo possa ser
alterado quando estamos a efectuar a substituição do algarismo “5”, podemos digitar o
seguinte, por exemplo, na célula E200: ="A"&14+1, o que irá mostrar o conteúdo da
célula como “A15”, apesar de não ter nenhum algarismo “5”:

Então, se pretendermos ter a soma(A5:A15) sem termos o segmento do range


“A15”, mas sim, em sua substituição, o conteúdo de E200 (que será A15), digitaríamos,
por exemplo em E5: =SOMA(A5:INDIRECTO(E200))

O resultado esperado seria 14.

Agora, se pretendermos utilizar o “Localizar e Substituir”:

Formador:
VÍTOR PINTO Excel Avançado – Dicas e Truques [6]
Teríamos, então, o resultado esperado: 13

Ou seja, quando for para substituir "fórmulas" (em Opções>>), de 5 para 6, vai dar o
resultado que se teria com a alteração da fórmula para

=SOMA(A6:INDIRECTO(E200)), ou seja, o mesmo que SOMA(A6:A15).

Excel – Formatação de células

“Copiei uma tabela da Net e na coluna que tem 1-1 ou 1-2 o Excel assume como um
de Janeiro e um de Fevereiro respectivamente. Quando tento formatar a célula para
texto, para que fique na forma original, ele coloca um numero 32 mil e qualquer coisa...
Alguém pode ajudar?”

Vejamos o exemplo dado:

Formador:
VÍTOR PINTO Excel Avançado – Dicas e Truques [7]
Se tentarmos formatar as células como texto, irá aparecer o seguinte:

Então, para ultrapassarmos a situação e para que consigamos ter, por exemplo, nas
células B1, B2 e B3, respectivamente os dados pretendidos a partir do conteúdo das
células A1, A2 e A3, ou seja, 1-1, 1-2 e 1-3, para que fique assim:

Devemos construir a seguinte fórmula em B1, copiando-a até B3:

=TEXTO(A1;"d-m")

Excel – As Funções SE(), ARRED() e PROCV()

Ainda a propósito do post anterior, foi colocada a questão de encontrar uma data que
esteja entre a Data inicial e a Data final (por exemplo, 14/03/2007-11/05/2008) e depois
partir daí para a contagem dos dias até à data final (que poderá estar também entre uma
data inicial e final mais abaixo).

A imagem do que se pretende:

Formador:
VÍTOR PINTO Excel Avançado – Dicas e Truques [8]
Ou seja,

Campos a preencher:

- Data de início (será 14/03/2007) - D2


- Data de fim (será 11/05/2008) -D4
- Capital (será 1000) - E2

Resultado pretendido:

De 14/03/2007 a 30/06/2007 - 109 dias à taxa de 0,1058 = 31,60


De 01/07/2007 a 31/12/2007 - 184 dias à taxa de 0,1107 = 55,80
De 01/01/2008 a 11/05/2008 - 132 dias à taxa de 0,1120 = 40,50
-------------------------------------------------- Total de juros: 127,90

Então, com a utilização da função PROCV(), poderemos chegar ao resultado


pretendido.

Assim, teremos:

Em F2:=SE(D2="";ARRED(C2*((B2-
A2)+1)/365*$E$2;2);ARRED(PROCV(D2;$A$2:$C$4;3)*((B2-
D2)+1)/365*$E$2;2))

Em F3:=SE(D3="";ARRED(C3*((B3-
A3)+1)/365*$E$2;2);ARRED(PROCV(D3;$A$2:$C$4;3)*((B3-
D3)+1)/365*$E$2;2))

Em F4:=SE(D4="";ARRED(C4*((B4-
A4)+1)/365*$E$2;2);ARRED(PROCV(D4;$A$2:$C$4;3)*((D4-
A4)+1)/365*$E$2;2))

Formador:
VÍTOR PINTO Excel Avançado – Dicas e Truques [9]
Excel - A Função ROUNDDOWN() ou ARRED.PARA.BAIXO()

Por mail, fizeram-me a seguinte pergunta (adaptada): "...gostava de incluir a


informação ao utilizador quais as medidas a cortar de uma barra para maior
aproveitamento, por exemplo: tenho 5 cortes com 112, 1 com 30, 2 com 4 etc etc.. as
barras têm 6 metros e a intenção era tirar o maior aproveitamento no corte, para as
sobras serem o menor possivel, isto é, escolher valores cuja soma fosse o mais perto
possivel dos 6 metros, a mensagem ao utilizador fosse por exemplo: de uma barra cortas
5 com 112 e uma com 30, na outra cortas tantas com tanto e outras ou outra com tanto
etc..."

Bom, vejamos a imagem da possível resolução do problema:

As fórmulas:

Em E5: =ARRED.PARA.BAIXO((C1/C5);0)

Em E6: =SE(C6="";"";ARRED.PARA.BAIXO((I5/C6);0))

Em E7: =SE(C7="";"";ARRED.PARA.BAIXO((I6/C7);0))

Em I5: =C1-(C5*E5)

Em I6: SE(C6="";"";I5-(C6*E6))

Em I7: SE(C7="";"";I6-(C7*E7))

Mas, e se não quisermos, no exemplo, cortar as 5 barras da medida 112, mas apenas
4? Como faríamos para, aceitando a alteração, harmonizar o número de cortes relativos
às outras medidas?

Vejamos então, o exemplo do que agora referi:

Formador:
VÍTOR PINTO Excel Avançado – Dicas e Truques [10]
Eis as fórmulas, referentes à coluna I:

Em I5: =SE(F5="";C1-(C5*E5);C1-(C5*F5))

Em I6: =SE(F6="";SE(C6="";"";I5-(C6*E6));SE(C6="";"";I5-
(C6*F6)))

Em I7: =SE(F7="";SE(C7="";"";I6-(C7*E7));SE(C7="";"";I6-
(C7*F7)))

Excel – Novamente a Função ARRED()

“A tabela abaixo representa valores de taxas de juros aplicáveis nas datas indicadas,
isto é, entre as datas indicadas aplicam-se as taxas que estão à frente.

A B C
1 01/01/07 30/06/07 0,1058
2 01/07/07 31/12/07 0,1107
3 01/01/08 30/06/08 0,1120
4 01/07/08 31/12/08 0,1120

(Em que A= Data de Início


Em que B= Data de Fim
Em que C= Taxa a Aplicar)

Se um documento for emitido em 14/03/07 e contar juros até 11/05/08, é possível obter
o valor dos juros na totalidade.

Eu pretendia obter no final valores parcelares, assim:


De 14/03/2007 a 30/06/2007 - 109 dias à taxa de 0,1058 = 31,60
De 01/07/2007 a 31/12/2007 - 184 dias à taxa de 0,1107 = 55,80
De 01/01/2008 a 11/05/2008 - 132 dias à taxa de 0,1120 = 40,50 “

Representemos então, o que se pretende:

Formador:
VÍTOR PINTO Excel Avançado – Dicas e Truques [11]
Para calcularmos o número de dias entre as duas datas que contêm a mesma taxa de
juro a aplicar, utilizaremos a seguinte fórmula:

Em E1: =(B1-A1)+1
Em E2: =(B2-A2)+1
Em E3: =(B3-A3)+1

(A formatação destas células deverá ser “Número”, sem casas decimais)

E agora, para calcularmos os valores dos juros, de forma parcelar, teremos:

Em F1: =ARRED(C1*E1/365*1000;2)
Em F2: =ARRED(C2*E2/365*1000;2)
Em F3: =ARRED(C3*E3/365*1000;2)

(A formatação destas células deverá ser “Número”, com 2 casas decimais)

Excel - VLOOKUP(), RIGHT() & VALUE()

"Como posso fazer com que, digitando uma sequência de 3 algarismos numa
determinada célula da Folha1, por exemplo, em A1, apareça, na coluna B, o resultado
da pesquisa na Folha2, em que as células da coluna B contêm determinados números,
cujos primeiros 3 algarismos, a contar da esquerda, podem ou não conter os algarismos
digitados, na mencionada célula A1 da Folha1. Especificidade: não existe, na tabela da
folha2, nenhum número que termine em 0 [zero] (ex: 12500)".

Vejamos o exemplo:

Resultado que se pretende na Coluna B da Folha1, ao inserir em A1 os algarismos


125:

Formador:
VÍTOR PINTO Excel Avançado – Dicas e Truques [12]
A pesquisa a ser efectuada, na Folha2, procurando pelos 3 algarismos digitados,
devendo dar como resultado, todos os números que, na Coluna B, contenham os
algarismos digitados na Folha1, na célula A1:

Assim, teremos que digitar, na célula B1 fa Folha 1, a seguinte fórmula:


VLOOKUP(A1;Sheet2!$A$1:$B$10;2)

Por sua vez, na célula B2, digitamos a seguinte fórmula:


=IF(B1="";"";IF(RIGHT(B1;1)=1;"";IF(VLOOKUP($A$1;Sheet2!$A$1:$B$10;2)=
$B$1;$B$1-1)))

E, para terminar, digitamos na célula B3, copiando para tantas células dessa coluna
(B4, B5, B6, etc...), quantas aquelas que sejam necessárias, para mostrar todas as
ocorrências que contenham os 3 algarismos mencionados:

=IF(B2="";"";IF(VALUE(RIGHT(B2;1))=1;"";IF(VLOOKUP($A$1;Sheet2!$A$1:
$B$10;2)=$B$1;$B$1-VALUE(RIGHT(B2;1)))))

Excel - VLOOKUP()

"Numa folha e na célula B1 temos um valor que é um somatório de valores de


células. Ora, na célula A1 pretendia o cálculo automático de um valor percentual em
função do resultado obtido em B1. O valor percentual é diferente conforme o intervalo
de valores de referência (os valores de referência e respectivas percentagens encontram-
se nas colunas D, E e F). Será possível? Como?

O exemplo:

Como possível solução, a seguinte fórmula, em C1, para obter a percentagem em


função do valor contido em B1:

=VLOOKUP(B1;D1:F3;3)
Formador:
VÍTOR PINTO Excel Avançado – Dicas e Truques [13]
e em A1, como resultado pretendido:
=B1*C1

Excel - Procurar com 2 variáveis - Index & Match()

"Tenho uma tabela em que uma determinada combinação de 2 variáveis,


corresponde a um código. Numa outra tabela, onde tenho estas variáveis, preciso
colocar o código que corresponde a cada combinação de 2 variáveis. Preciso de
preencher a coluna M com o código da 1ª tabela associada a A + B (exemplo: B5=a,
C5=2 - Código: III -, a que corresponde o conjunto das variáveis C + D( exemplo: G6 +
H6 -- resultado em M6: III).

O exemplo, nas imagens:

Se alterar em H6, de 2 para 3, então em M6 o resultado será IV:

A fórmula, em M6 (copiada para as células pretendidas da coluna M):

{=INDEX($D$2:$D$10;MATCH(G6&H6;$B$2:$B$10&$C$2:$C$10;0))}
NOTA: Ctrl + Shift + Enter na célula activa, para obter como um array,ou seja, com
{}.

Formador:
VÍTOR PINTO Excel Avançado – Dicas e Truques [14]
Excel - SUMPRODUCT()

Se pretendermos verificar o número de ocorrências num determinado Range, sejam


as ocorrências "MG", "VM", "PR" e "MD", como no seguinte exemplo:

podemos utilizar a seguinte fórmula, adaptada a cada uma das ocorrências:

="MG" & " " &SUMPRODUCT(--(RIGHT(A1:F2;2)="MG"))


="MV" & " " &SUMPRODUCT(--(RIGHT(A1:F2;2)="VM"))
="PR" & " " &SUMPRODUCT(--(RIGHT(A1:F2;2)="PR"))
="MD" & " " &SUMPRODUCT(--(RIGHT(A1:F2;2)="MD"))

Excel - SUMPRODUCT(), SUM() ou SUMIF()?

"Tenho uma folha em que na coluna A, tenho datas no seguinte formato"06-09-


2007", na coluna B e na coluna C tenho valores. Não estou a conseguir, mediante a
utilização da formula=SUMIF(A1:A1000;MONTH(6);B1:B1000), somar todos os
valores da coluna B correspondentes ao mês 6" .

Possível solução:
=SUMPRODUCT((MÊS(A1:A1000)=6)*B1:B1000)

Alternativa:

{=SUM((MONTH(A1:A1000)=6)*(B1:B1000))}'como um array, ou seja com


CTRL+SHIFT+ENTER para obter {}

Uma terceira possível solução:

=SUMIF(A1:A1000;">="&DATE(2007;6;1);B1:B1000)-
SUMIF(A1:A1000;">"&DATE(2007;6;30);B1:B1000)

Formador:
VÍTOR PINTO Excel Avançado – Dicas e Truques [15]
Excel - Data Validation, Max(), Countif(), Match() e Row()

"Estou a criar um registo de membros... contudo, dado que o seu número facilmente
poderá chegar aos 50, corro o risco de criar entradas duplicadas.
Assim, e depois de mais uma visita ao Exceler encontrei um post sobre o assunto [post
de 2004-12-16]. Mas, a solução apresentada não me pareceu funcionar com texto...
Agradeço, se possível, a informação de se será possível aplicar ou não a texto... "

Várias soluções se podem apresentar.

Uma delas, por exemplo, será a utilização de "Data Validation". No exemplo


seguinte, sempre que se escrever numa das células do Range um conteúdo duplicado,
vai dar uma mensagem:

Como fazer:

Formador:
VÍTOR PINTO Excel Avançado – Dicas e Truques [16]
Outra possibilidade, é utilizar uma fórmula [com o mesmo Range de exemplo
(D1:D10)] - na célula E1:

IF(MAX(COUNTIF($D$1:$D$10;$D$1:$D$10))>1;"Duplicado";"")
e copiando até ao fim do range [no exemplo,E1:E10] - Neste caso, vai dar TODAS as
entradas duplicadas no range D1:D10, ou seja, considera entrada duplicada as duas
entradas:.

Outra possibilidade ainda será, se se pretender que apenas as entradas duplicadas


sejam consideradas, então teremos, no exemplo, em F1:

=IF(D1="";"";IF(MATCH(D1;D$1:D$10;0)<ROW(D1);"Duplicado!";""))

e copiando de F1 até F10:

Formador:
VÍTOR PINTO Excel Avançado – Dicas e Truques [17]
Excel - Left(), Mid() & Right()

"Como hei-de fazer para que, partindo do seguinte conteúdo em duas células:
20+500- e 18+200, tenha como resultado numa terceira célula, o seguinte: 2+300 e,
sempre que altere um destes valores parcelares, no mesmo formato, o resultado reflicta
essa alteração?"

O exemplo:

A fórmula:

=LEFT(A1;2)-LEFT(B1;2)&"+"&MID(A1;4;3)-RIGHT(B1;3)

Funções LEFT() e RIGHT(), LEN() e FIND()


Se pretendermos extrair um determinado conteúdo de uma célula que contém letras
e números, como no exemplo:

podemos utilizar, no primeiro caso, as Funções LEFT() e FIND() e no segundo, as


Funções RIGHT(), LEN() e FIND():

Formador:
VÍTOR PINTO Excel Avançado – Dicas e Truques [18]
Vários métodos para um mesmo fim...
Tomemos, por exemplo, em A1, o seguinte Nome + Apelido: "Jorge Rodrigues"

Para inserir o Nome numa outra célula:


=LEFT(A1;FIND(" ";A1)-1)
ou
=LEFT(TRIM(A1);FIND(" ";TRIM(A1))-1)

Para inserir o Apelido:


=RIGHT(A1;LEN(A1)-FIND(" ";A1))
ou
=MID(A1;FIND(" ";A1)+1;256)
ou
=RIGHT(A1;LEN(A1)-SEARCH(" ";A1;1))
ou
=MID(TRIM(A1);FIND(" ";TRIM(A1))+1;LEN(A1))

Excel: As Funções LEN() e SUBSTITUTE()


Quantos caracteres "." tem na célula A1 cujo conteúdo é 01.02.03.04? A célula A1
neste caso é do tipo texto. O resultado deveria ser 3.

Utilizando as Funções LEN() e SUBSTITUTE(), obtém-se o resultado desejado:

A fórmula em B1:
=NÚM.CARACT(A1)-NÚM.CARACT(SUBSTITUIR(A1;".";""))

Calcular diferença entre horas, com resultado em minutos


Se pretendermos efectuar um cálculo para obter a diferença entre dois horários e
sabermos o resultado em minutos, podemos utilizar, por exemplo, os seguintes métodos:

Formador:
VÍTOR PINTO Excel Avançado – Dicas e Truques [19]
E se a hora final for inferior à hora inicial, como no caso de a hora final ser já depois da meia-
noite? Aqui, podemos utilizar a seguinte fórmula:

Formador:
VÍTOR PINTO Excel Avançado – Dicas e Truques [20]
Excel: Ainda a Diferença entre duas datas - resultado em semanas e dias
Suponhamos que temos duas datas: 01-01-2005 e 23-01-2005. Se pretendermos
saber quantas semanas estão contidas entre estas duas datas e quantos dias remanescem,
verificamos que são 3 semanas (7x 3 = 21), restando 1 dia.

Numa abordagem um pouco simplista, mas demasiado elaborada (só para melhor
compreensão), podemos criar várias fórmulas tendo em consideração o que atrás foi
escrito. Então, teríamos:

em B2:
=DATEDIF(A1;A2;"d")/7, ou seja, 3 semanas [ à Função DATEDIF() corresponde
em português a Função DATADIF() ]

em B3:
=DATEDIF(A1;A2;"d"), ou seja, a totalidade de dias - 22 dias

E o resultado seria:

em B6: =INT(B2)&","&INT(B3)-INT(B2)*7, ou seja: 3,1 (3 semanas e 1 dia)

Mas, se quisermos ser menos elaborados, mas com uma fórmula mais correcta, então
podemos utilizar as Funções INT() [ em português é a mesma) e MOD() (RESTO() em
português ]:

Formador:
VÍTOR PINTO Excel Avançado – Dicas e Truques [21]
em B6: =INT((A2-A1)/7)&","&MOD(A2-A1;7)

Para finalizar, se quisermos ter uma apresentação mais cuidada, podemos escrever a
fórmula do seguinte modo:

em B6:
=IF(MOD(A2-A1;7)=0;INT((A2-A1)/7)&" semana(s)";INT((A2-A1)/7)& _
" semana(s) e "&MOD(A2-A1;7)&" dia(s)")

Excel: Funções de data


Um calendário básico:

Em O6 - o mês

Em O7 - o ano

Em M9: =WEEKDAY($O$6&"-"&$O$7)

Em N9: =M9+1

Formador:
VÍTOR PINTO Excel Avançado – Dicas e Truques [22]
Em O9: =N9+1

O mesmo até S9.

Para mostrar o dia corrente noutra cor, como no exemplo, marca-se a tabela com os 31
algarismos correspondentes aos dias do mês:

Escolhe-se Formatar Condicionalmente:

e, no terceiro campo da condição, coloca-se a fórmula:


=DAY(TODAY())

Agora, para que os dias do mês coincidam com o mês em causa, ou seja, meses com 30 dias,
meses com 31 dias e Fevereiro com 29 ou 28 dias, conforme seja ano bissexto ou comum,
teremos que construir a seguinte fórmula, no exemplo, em S6:
=DAY(DATE(O7;MONTH(DATEVALUE(O6&"-"&O7))+1;0))

Por último, na célula onde deve ficar o algarismo 29, ou seja, no exemplo, em M14, colocamos
a seguinte fórmula:
=IF(S6=28;"";29)

Na célula correspondente a 30:


=IF(S6<30;"";30)

E na célula correspondente a 31:


=IF(S6=31;31;"")

Excel: Ainda funções de data


No post anterior foi apresentado um modelo básico de calendário. Hoje, utilizando esse
mesmo calendário, mostro como se pode incluir o número da semana correspondente,
embora não seja totalmente correcto, porque não se está a tomar como início da semana o
domingo, mas sim e sempre, os dias 1,8,15,22 e 29 do mês em referência:

Formador:
VÍTOR PINTO Excel Avançado – Dicas e Truques [23]
A Fórmula em L10 (com Copy & Paste até L14):
=DAYS360($M$4;(M10&"-"&$O$6&"-"&$O$7))/7+1-5400

Nota: A célula M4 é uma célula vazia, apenas representando a data de início para a
Função Days360(), ou seja, o valor 0 (zero):

Excel: Somar dois tipos de ocorrências


Se pretendermos somar dois tipos de ocorrências, como no exemplo

Formador:
VÍTOR PINTO Excel Avançado – Dicas e Truques [24]
podemos criar uma pequena fórmula, utilizando as Funções SUM() e COUNTIF(), esta última,
com um array.

O Código:

=SUM(COUNTIF(A1:A20;{"bom";"muito bom"}))

Excel: Ainda a Função SUMPRODUCT()


Se pretendermos "contar" uma determinada ocorrência, mas que obedeça, por
exemplo a um critério, podemos utilizar a Função SUMPRODUCT() ou
SOMARPRODUTO().
No exemplo, pretendemos contar o número de vezes em que o nome "joão" aparece na
coluna A, obedecendo ao critério de lhe corresponder o algarismo 2 na coluna B:

Excel: Utilização da Função SUBTOTAL()

Como se pode verificar, ao utilizar-se a Função para dar o Total, pode mencionar-se o Range
que inclui os subtotais, porque estes são, pura e simplesmente, ignorados!

Excel: Formatação Condicional


Se pretendermos inserir valores ou texto em determinadas células pré-definidas, para uma
maior comodidade, podemos colori-las, de modo a saber que se encontram vazias e, por isso,

Formador:
VÍTOR PINTO Excel Avançado – Dicas e Truques [25]
mais fáceis de serem identificadas. Tomemos o exemplo:

Depois de inserirmos valores, as células deixam de estar coloridas, voltando a ter coloração se
ficarem novamente vazias:

O método, é a utilização da Formatação Condicional, no exemplo nas células A1,B2,C3 e D4,


associada à função ISBLANK() ou É.CÉL.VAZIA(), como mostra a figura seguinte, ou seja
ISBLANK(A1), ISBLANK(B2) etc.:

Excel: As Funções SUMPRODUCT() e TEXT(). Utilização com a Função ISBLANK()


No dia 2 de Fevereiro, apresentei um post com uma fórmula que junta as funções
Sumproduct()e Text(), para verificar a quantidade de ocorrências contidas num
determinado Range.
No entanto, a fórmula apenas funciona correctamente (problema só em relação a "Jan")
se o Range estiver completamente preenchido; se houver células em branco, estas são
igualmente contadas como se contivessem a ocorrência "Jan", o mesmo não
acontecendo com outras ocorrências, como se pode verificar no exemplo seguinte:

Formador:
VÍTOR PINTO Excel Avançado – Dicas e Truques [26]
A fórmula a executar, para que a contagem das ocorrências seja correcta (não contando,
por isso, com as células vazias como fazendo parte da ocorrência), é a seguinte, agora
com a incorporação da Função IsBlank():

Excel: Múltiplos CountIf()


Se pretendermos contar as ocorrências contidas num determinado Range ( no exemplo
C1:C13) e que obedeçam a critérios estabelecidos em certas células (no exemplo, as células A1
e B1), então podemos inserir, p. ex. em A3, a seguinte Fórmula, com a utilização de múltiplos
COUNTIF() [ou CONTAR.SE()]:
=COUNTIF(C1:C13;A1)+COUNTIF(C1:C13;B1)

Formador:
VÍTOR PINTO Excel Avançado – Dicas e Truques [27]
Excel: Formatação Condicional, com Fórmula como condição
A título de exemplo, uma grelha de números e de estrelas, sendo que A1:E1 são os 5
números saídos e F1:G1, as 2 estrelas saídas:

A formatação condicional para a grelha de números, partindo do princípio que os campos a


verde correspondem aos números escolhidos (no exemplo, E6 corresponderá ao nº 4, E8 ao
16, etc):

A formatação condicional para a grelha de estrelas, partindo do princípio que os campos a azul
correspondem aos números escolhidos (no exemplo, C16 corresponderá ao nº 2 e E16 ao 7):

Formador:
VÍTOR PINTO Excel Avançado – Dicas e Truques [28]
Excel: Formatos personalizados - O formato nulo
O formato nulo (;;;) oculta o conteúdo da célula A2:

Antes da formatação:

Depois da formatação:

Excel: Formatação personalizada - Cor


Na formatação personalizada, podem seleccionar-se até quatro cores (das oito cores
possíveis: Azul, Vermelho, Amarelo, Verde, Branco, Preto, Magenta e Turquesa).

No exemplo, seleccionaram-se as quatro primeiras(Azul para valores positivos, Vemelho para


valores negativos, Amarelo para valores zero e Verde para texto):

Formador:
VÍTOR PINTO Excel Avançado – Dicas e Truques [29]
Formatação personalizada - Cor II
No entanto, pode usar-se mais do que oito cores, através das 56 cores da palette de
escolhas de cor, utilizando o tipo [Color#],
em que # se refere a um número entre 1 e 56 da palette
(1= 1ª cor da lista - Preto; 2= 2ª cor da lista - Branco ... 56= última cor da lista - Cinzento
Escuro) e utilizar-se igualmente símbolos, como seja o adicionar (+) e o subtrair (-)

Exemplo:

Formador:
VÍTOR PINTO Excel Avançado – Dicas e Truques [30]
Exemplo da Função CONTAR.VAZIO()
A Função CONTAR.VAZIO() [COUNTBLANK()] conta as células vazias num determinado
Range:

Exemplo das Funções CONCATENAR() e VALOR()

Funções de Texto
Exemplos da utilização das Funções de texto ESQUERDA(), SEG.TEXTO() e DIREITA()

Somar Colunas

Formador:
VÍTOR PINTO Excel Avançado – Dicas e Truques [31]
Para somar Colunas sem a preocupação de as limitar, pode utilizar-se a seguinte fórmula:
=SOMA(B:C) (port.)

Somar Linhas

É claro que para somar Linhas o método é semelhante, ou seja:


=SOMA(3:4) (port)

Excel - O problema do aparecimento de: "#/DIV0!"


Às vezes, no EXCEL, quando se pretende efectuar uma divisão, o dividendo é menor que o
divisor, ou a célula que funciona como dividendo, porque fazendo parte de uma fórmula,
encontra-se vazio. Neste caso, aparecerá na célula do resultado aquela mensagem abominável
que todos nós conhecemos:"#/DIV0!".

Solução:
Utilizando uma fórmula na célula do resultado:
Ex - assumindo que a célula do resultado é C1, que a célula do dividendo é A1 e que a célula do
divisor é B1, teremos:

=SE(É.ERRO(A1/B1);"";A1/B1)

Formador:
VÍTOR PINTO Excel Avançado – Dicas e Truques [32]

Anda mungkin juga menyukai