Excel – Entrada de dados duplicados.Valid duplicados.Validação. açã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 tabula t abulador dor 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: relevantes: Ou para continuar continuar (SIM) ou ou para não continuar (NÃO). Se clicar,os em SIM:
Formador:
VÍTOR PINTO
Excel Avançado – Dicas e Truques
[2]
4. Depois, para termos o aviso de erro, escolhemos o tabula t abulador dor 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: relevantes: Ou para continuar continuar (SIM) ou 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: 1 2 3 4 5
Dia Leitura Consumo Dia 150 160 10 165 5 -165 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 fazerse 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*((B2A2)+1)/365*$E$2;2);ARRED(PROCV(D2;$A$2:$C$4;3)*((B2D2)+1)/365*$E$2;2))
Em F3:=SE(D3="";ARRED(C3*((B3A3)+1)/365*$E$2;2);ARRED(PROCV(D3;$A$2:$C$4;3)*((B3D3)+1)/365*$E$2;2))
Em F4:=SE(D4="";ARRED(C4*((B4A4)+1)/365*$E$2;2);ARRED(PROCV(D4;$A$2:$C$4;3)*((D4A4)+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 1 01/01/07 2 01/07/07 3 01/01/08 4 01/07/08
B 30/06/07 31/12/07 30/06/08 31/12/08
C 0,1058 0,1107 0,1120 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 encontramse 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-092007", 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)
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, p or 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 meianoite? 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) e "&MOD(A2-A1;7)&" dia(s)")
semana(s)";INT((A2-A1)/7)&
_
Excel: Funções de data Um calendário básico:
Em O6 - o mês Em O7 - o ano Em M9: Em N9:
=WEEKDAY($O$6&"-"&$O$7) =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]