About Me

A minha foto
JRod - PORTUGAL
Microsoft [MVP] - Excel (10º ano consecutivo)
Ver o meu perfil completo
Com tecnologia do Blogger.

Seguidores

Estatisticas

Free Blog Counter

eXTReMe Tracker
2015-06-28
Há dias, recebi uma mensagem a questionar sobre o seguinte:

"Viva, gostava de poder obter a vossa ajuda para resolver esta situação:
A 22
B 23
C 48
D 2
E 13
F 21
G 51
Necessitava de utilizar uma função para obter o maior valor da coluna B, ao qual devia fazer corresponder a referencia da coluna A. Ou seja neste exemplo, a função deveria dar o resultado G 51."

Foi então criada uma fórmula que contém as seguintes funções: DESLOCAMENTO(), INDIRECTO(), ENDEREÇO(), CORRESP(), MAIOR(), LIN(), COL() e o operador "&" - substituto da função CONCATENAR(), para dar o resultado pretendido.

O resultado foi o seguinte:

Formula

A fórmula em português: =DESLOCAMENTO(INDIRECTO(ENDEREÇO(CORRESP(MAIOR(B1:B7;1);B1:B7;0)+LIN(B1:B7)-1;COL(B1:B7)));0;-1)& " " & MAIOR(B1:B7;1)

A fórmula em inglês: =OFFSET(INDIRECT(ADDRESS(MATCH(LARGE(B1:B7;1);B1:B7;0)+ROW(B1:B7)-1;COLUMN(B1:B7)));0;-1)& " " & LARGE(B1:B7;1)
2014-03-16
Há dias, tive necessidade de configurar o procedimento Workbook_Open() com algumas particularidades.

Deixo aqui o exemplo:


'---------------------------------------------------------------------------------------
' Procedure : Workbook_Open
' Author    : JRod
' Date      : 16/03/2014
' Purpose   : Activa determinada folha, tira a barra com o nome das folhas e abre folha sempre com o zoom a 85%
'---------------------------------------------------------------------------------------
'
Private Sub Workbook_Open()

    'Activa a folha PROGRESSIVO
    Sheets("PROGRESSIVO").Activate
   
    'Tira a barra com os nomes das folhas...
    ActiveWindow.DisplayWorkbookTabs = False
   
    'Abre s folha (planilha)"PROGRESSIVO" sempre com o zoom a 85%
    ActiveWindow.Zoom = 85

End Sub
2014-03-11
Se pretendermos ver quantas vezes determinado nome é referido num range, que se encontra dependente de um outro, como no exemplo que a seguir se pode ver:
Atendedor
e partindo  do princípio que o range da coluna C não pode conter células em branco, uma vez que não fará sentido, pois é para colocar lá um nome, podemos utilizar a seguinte fórmula, como matriz, sendo que a procura é baseada na célula C2 e a resposta dada (que contém a fórmula abaixo), na célula
 E2:=SOMA(SE(C2=$B$5:$B$24;1/(CONTAR.SE.S($B$5:$B$24;C2;$C$5:$C$24;$C$5:$C$24));0))
 
Como matriz que é, a fórmula deverá ser inserida com CTRL + SHIFT + ENTER, para ficar assim:
 
{=SOMA(SE(C2=$B$5:$B$24;1/(CONTAR.SE.S($B$5:$B$24;C2;$C$5:$C$24;$C$5:$C$24));0))}
2011-10-01

MVP_Award_2011

 

URRA!!!! URRA!!!! URRA!!!!! Amigos!!!! Estou, mais uma vez, orgulhoso com o facto de ter voltado a ser, em 2011 e pela 7ª vez consecutiva, agraciado com o Microsoft MVP Award !!!!

 

Obrigado, Cristina Gonzalez, pela confiança!!!! Bem haja e felicidades!!!!! Vou continuar, com todo o entusiasmo, a promover o EXCELer!!!

 

Obrigado, Bruno Castro, por me aturar sempre que preciso de algo novo para o EXCELer!!!!!

 

Obrigado a todos os EXCELerianos!!!!!! MUITO OBRIGADO!!!!!!

2011-07-31

Para ver em formato PDF, aceder a:

Guia Rápido de referência - Excel 2010

 

Para saber como criar uma tabela em Excel, de maneira fácil. CLICAR AQUI

2011-07-19

Para saberem como fazer, vejam o texto escrito pelo Microsoft Excel MVP – Ron de Bruin:

 

Criar e enviar ficheiros em formato PDF

2011-04-18

Exemplo para filtrar e copiar para outra folha:

Supondo que temos a seguinte tabela:

O que se pretende, é copiar para outra folha (ex. folha2) os registos que contenham apenas a sigla pretendida:

O exemplo de código possível:

Sub FiltrarECopiar()

Dim Msg As String

Sheets("Folha2").Select

Columns("A:C").Select

Selection.ClearContents

Sheets("Folha1").Select

Msg = InputBox(" Escreva as siglas para filtrar")

Msg = UCase(Msg)

Range("C2").AutoFilter Field:=3, Criteria1:=Msg

Range("A2").Resize(Range("A" & Rows.Count).End(xlUp).Row - 1).EntireRow.Copy _

Destination:=Sheets("Folha2").Range("A1")

ActiveSheet.ShowAllData

End Sub

 

Créditos para o MVP J.E. McGimpsey

2010-10-29

Há dias, no Fórum do Exceler, colocaram a seguinte questão:

“Eu tenho uma tabela onde a Coluna A4:A19 contem datas, e as colunas B4:G19 tenho dados.E no B2"Data" critério.
Eu quero SUMIF onde as colunas B4:G19 sejam somadas quando o critério for verdade.
Eu fiz  =SUMIF(A4:A19,B2,B4:B19) mas esta somando somente a Coluna B ao invés de B4:G19
Por favor veja a foto em anexo.

 

A resposta possível poderá ser:

Uma das hipóteses, utilizando a função SUMIF (SOMA.SE),será a seguinte fórmula:

=SUMIF(A4:A19,B2,B4:B19)+SUMIF(A4:A19,B2,C4:C19)+SUMIF(A4:A19,B2,D4:D19)+SUMIF(A4:A19,B2,E4:E19)+SUMIF(A4:A19,B2,F4:F19)+SUMIF(A4:A19,B2,G4:G19)


A outra, melhor, na minha opinião, utilizando a função SUMPRODUCT ( SOMARPRODUTO), será:

=SUMPRODUCT((A4:A19=B2)*B4:G19)

Há mais opiniões? Serão, como sempre, muito bem vindas!

Tópicos relacionados:

2010-10-02

 

Recebi ontem a mensagem sobre a minha 6ª renomeação consecutiva como MVP Excel! Claro que estou satisfeitíssimo e vou tentar, como sempre, não desiludir a comunidade!!!

 


“Dear Jorge Rodrigues,
Congratulations! We are pleased to present you with the 2010 Microsoft® MVP Award! This award is given to exceptional technical community leaders who actively share their high quality, real world expertise with others. We appreciate your outstanding contributions in Excel technical communities during the past year.”

2010-07-27

Para saber sobre funcionalidades descontinuadas e modificadas no Excel 2010, aceda a:

Conversão de ficheiros e compatibilidades 01

 

Para saber como adicionar ou remover suplementos no Excel 2010, aceda a:

Analisar dados

 

Tópicos relacionados:

O site de David McRitchie é um local de consulta obrigatória, porque tem exemplos muito bons.

Ora vejam:

My Excel Pages -- David McRitchie

Tomemos, por exemplo, o seguinte:

image

O que se pretende, é criar uma fórmula que altere o texto de A1, para que as células B1 (com formatação de data personalizada, na forma aaaa-mm-dd) e B8 (sem formatação de data personalizada) se apresentem como na imagem.

Aqui fica, a título de exemplo, uma possível solução:

image Em português: =DATA(DIREITA(A1;4);EXT.TEXTO(A1;3;2);ESQUERDA(A1;2))

2010-07-17

A propósito deste título, apresento 2 possíveis soluções para esta situação: Como saber quantas vezes o conteúdo de uma célula se encontra num determinado Range de células?

Vejamos o exemplo:

image

O que se pretende, é saber quantas vezes o número 3 (referenciado na célula A1) está contido no Range B1:B10. Ora, como se pode verificar, está contido por 3 (três) vezes.

Então,

1ª solução – Função CONTAR.SE() – versão 2003/2007 ou Função CONT.SE() – versão 2010:

=CONTAR.SE(B1:B10;A1)

=CONT.SE(B1:B10;A1)

 

2ª solução – Função SOMA(), como um Array {} (obtido com as teclas Ctrl + Shift + Enter):

{=SOMA((A1=B1:B10)*1)}

 

Tópicos relacionados:

2010-06-22

Para saber como criar listas no Excel 2003, aceda ao seguinte link:

Criar Listas no Excel 2003

2010-05-09

Como já deve ser do vosso conhecimento, está em curso o processo de desactivação dos grupos públicos de discussão da Microsoft, através da migração dos denominados “Microsoft NNTP (Network News Transfer Protocol)”, para os fóruns da Microsoft (Web-based Microsoft community forums).

Para saberem mais detalhes sobre esta notícia, poderão aceder a:

http://www.microsoft.com/communities/newsgroups/default.mspx

Este site estará, brevemente, disponível na língua portuguesa.

2010-03-21

Mais uma vez, fui ao MVP Open Day!… Um espectáculo, como sempre!!!!!

E vi, pela primeira vez, o Power Pivot Add-In a funcionar:

image

Há dias, no fórum do Exceler, foi colocada a seguinte questão (adaptada):

“ Tenho a seguinte tabela:

image

Queria que na coluna V.Max. e Loja, a fórmula fizesse o seguinte:

  • Procurasse o valor máximo de um determinado nome (ex. João) e juntasse a loja a que correspondesse  esse valor máximo: ou seja, onde está João, escolheria das 3 linhas onde o nome se encontra, o valor máximo, neste caso, 13 e a Loja que lhe corresponde, ou seja, Loja2.”

Então, o que pretenderíamos, seria o seguinte:

image

Em G3, digitamos o nome pretendido (no exemplo, João);

Em D3, digitamos a seguinte fórmula de matriz (Array):

{=MÁXIMO(SE($A$3:$A$12=G3;$C$3:$C$12))}

 Nota: O Array é conseguido com as { }, que se obtém através da combinação das teclas CTRL + SHIFT + ENTER.

Para finalizar, em E3, digitamos a seguinte fórmula:

=SE(G3="";0;ÍNDICE($B$3:$C$12;CORRESP(D3;$C$3:$C$12;0);1))

 

O resultado está, então, à vista!…

 

Tópicos relacionados:

2010-03-01

Uma pequena (grande) curiosidade:

Desenhar a cara do rato Mickey, para ficar assim:

image

Querem saber como? Então, acedam a: Rato Mickey e divirtam-se!

2010-02-16

Há dias, num grupo de discussão, foi apresentada a seguinte questão (adaptada):

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:

image

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)=1image 

  4. Depois, para termos o aviso de erro, escolhemos o tabulador com o mesmo nomeimage

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:

image

o resultado será o da aceitação do valor duplicado image

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

Tópicos relacionados: