Arquivo da categoria: Microsoft Office

Dicas sobre aplicativos Microsoft Office em geral

Excel – Retornando mais de uma coluna com PROCV

Ela de novo, a função PROCV. Seu uso no Excel, se contado, deve ser equivalente ao número de instalações do próprio aplicativo.

Filosofias a parte, tanto quanto o uso do PROCV, fala-se muito das suas limitações. O substituto imediato é a combinação do das funções ÍNDICE e CORRESP, entre outras.

Porém, com uma pequena ajuda de fórmulas matriciais (veja o que são aqui: https://www.tomasvasquez.com.br/blog/microsoft-office/excel-formulas-matriciais), o PROCV por ir além, por exemplo, fazendo retornar mais de coluna ao mesmo tempo.

O problema

Para começar, precisamos de dados. No exemplo utilizado, tenho a base de munícios do Brasil e seus estados.

Fonte: https://pt.wikipedia.org/wiki/Lista_de_munic%C3%ADpios_do_Brasil_por_popula%C3%A7%C3%A3o

Com base nisso, vamos construir um PROCV bem simples (na célula H2):

=PROCV($H$1;$A$2:$E$5571;3;FALSO)

PROCV básico para obter o nome do município pela posição

Até aqui tudo bem, mas, o Brasil tem várias cidades de mesmo nome e saber também o estado ajudaria. Temos algumas formas de fazer isso, sendo a mais óbvia adicionar mais um PROCV ao lado do primeiro. Isso resolve bem para alguns casos, mas, e se precisar fazer isso 3,4 ou mesmo 10 vezes? Há situações em que isso é necessário e a fórmula pode chegar a ficar insanamente comprida. A solução mais elegante é usar PROCV com fórmulas matriciais.

O truque

Estou assumindo que você entende de fórmulas matriciais, com já foi referenciada no link acima.

Uma das coisas mais interessantes que as fórmulas matriciais é sua capacidade de iteração, seja via preenchimento, seja via arrays dentro da su função. Sim! Arrays! Você leu direito!

Começamos com uma pequena modificação no primeiro PROCV escrito, que deve agora parecer com isso:

=PROCV($H$1;$A$2:$E$5571;{3,4};FALSO)

O que mudou foi que, ao invés de mencionar a coluna 3, que refere ao nome do município, temos 2 valores numéricos entre chaves {} e separados por ponto-e-vírgula (separador padrão do Excel em português). O interessante é que quando você confirma a alteração, o Excel não reclama, apesar de ainda não saber o que fazer com aquilo, assumindo apenas o primeiro valor.

Para fazer nosso PROCV retornar os dois valores, há dois passos a serem seguidos:

  • Transformar o PROCV acima em matricial
  • Fazer algo com o resultado

A primeira parte é fácil. Basta entrar na célula e digitar o atalho Ctrl+Shift+Enter. Isso adicionará chaves em volta da fórmula provando que ela está no formato matricial. Mas, após isso, nada muda:

Matricial agora, mas não completo

O detalhe é que, a fórmula toda agora está retornando vários valores, mas o mecanismo padrão do Excel só interpreta um. Para pegar todos os resultados, precisamos de funções que recebem vários valores e fazem algo com eles, por exemplo, SOMA, MÉDIA, MÁX e, no nosso caso, CONCAT!

A CONCAT nada mais, nada mesmo que une os valores de texto que lhe são passados. Adicionando ela ao mix, temos o seguinte:

{=CONCAT(PROCV($H$1;$A$2:$E$5571;{3;4};FALSO))}

Agora concatenando tudo!

Um exemplo mais maluco ainda, agora usando UNIRTEXTO:

{=UNIRTEXTO(” – “;VERDADEIRO;PROCV($H$1;$A$2:$E$5571;{2;3;4;5};FALSO))}

PROCV com UNIRTEXTO com Fórmulas Matriciais. Não dá pra ser melhor!

Com isso, você não deve precisar mais precisar colocar vários PROCVs seguidos quando mais de uma coluna tiver que ser retornada.

Agora é com você Exceleiro de plantão! Caso tenha mais alguma maluca que possa fazer uso deste curso, coloque aí nos comentários!

Bom proveito!

Excel – Como Juntar/Unir/Concatenar texto no Excel

Existem algumas formas de trabalhar com junção de texto no Excel e aqui vou mostrar algumas delas.

Usando o caracter &

O jeito mais tradicional é usar o caracter & (e comercial: https://pt.wikipedia.org/wiki/%26) entre dois textos entre aspas.

Um exemplo simples:

=”Tomás”&”Vásquez”

O resultado na célula é tal qual a seguir:

O resultado da fórmula acima

Os blocos de texto podem ser substituídos por células ou qualquer outra fórmula que retorne um texto válido:

=A2&A3

Agora com células

A FUNÇÃO CONCATENAR

Já falei sobre ela no blog aqui: https://www.tomasvasquez.com.br/blog/microsoft-office/vba-concatenando-ranges-funcao-concatenar

A sintaxe é bem simples. Aplicando na planilha anterior, fica assim:

=CONCATENAR(A2;A3)

Usando o CONCATENAR

O único problema da função CONCATENAR é não aceitar blocos de células, por exemplo, se ao invés da função acima fosse escrito isso:

=CONCATENAR(A2:A3)

você teria um erro do tipo #VALOR

Esse problema faz com que você tenha que selecionar célula a célula do texto que você quer unir.

Dá pra melhorar

Até aqui, isso era tudo o que você podia fazer até mais ou menos o Excel 2010/2013. Nas versões Office 365, novas funções foram introduzidas para facilitar a vida de quem precisa trabalhar muito com texto.

São elas a CONCAT e UNIRTEXTO

A FUNÇÃO CONCAT

A função CONCAT é basicamente uma CONCATENAR melhorada. Por exemplo, o problema de seleção de blocos é resolvido, já que o abaixo é válido:

=CONCAT(A2:A3)

A função CONCAT funcionando lindamente

Para ser sincero, isso torna a função CONCATENAR quase inútil.

A FUNÇÃO UNIRTEXTO

Essa merece um pouco de atenção. Ela basicamente faz tudo que foi falado acima de uma forma turbinada.

A função UNIRTEXTO é capaz de fazer tudo o que foi feito acima com alguns detalhes:

  • Assim como não função CONCAT, a UNIRTEXTO consegue unir blocos de células, mas é esperta o suficiente para ignorar células vazias no meio do caminho.
  • É capaz de adicionar separadores entre os textos (SIM!)

Como uma imagem vale mais do mil palavras, veja os exemplos abaixo:

UNIRTEXTO em ação

Em detalhes, a função UNIRTEXTO aceita 3 argumentos:

  • Separador de texto. O que quer que você coloque aqui, será colocado entre os textos a serem unidos
  • Ignorar em branco. Se marcado como VERDADEIRO, caso haja células em branco no meio do bloco de células, elas serão ignoradas
  • A célula, células ou o bloco de células a ser unido.

O resultado pode ser visto na imagem acima, e abaixo com mais algumas loucuras:

Indo um pouco além com o UNIRTEXTO

Bom proveito!

Fonte: https://qr.ae/TWhwQ9

Excel – Isso nem eu sabia que o PROCV podia fazer

Fiquei de queixo caído com essa dica! Espero que ela te surpreenda tanto quanto me supreendeu.

#Excel #PROCV

Post do Bill Jelen
https://www.quora.com/What-does-mean-in-an-Excel-formula-3

Acesse também

BLOG ► https://www.tomasvasquez.com.br/blog/
FÓRUM ► https://www.tomasvasquez.com.br/forum/
CURSO ONLINE DE C# ► https://www.tomasvasquez.com.br/cursocsharp

Aqui também!

FACEBOOK ► https://www.facebook.com/tomasvaquezsites
TWITTER ► https://twitter.com/tomamais
GOOGLE+ ► https://plus.google.com/+TomasvasquezBr/

Roteiro, apresentação, edição, etc, etc ► eu mesmo 🙂

VBA – ComboBox com duas colunas (ou mais do que isso)

Oh yeah! O ComboBox é muito mais versátil do que se pensa e neste vídeo, tento mostrar um pouco disso.

#VBA
#ComboBox

Código utilizado:

Private Sub CommandButton1_Click()
'MsgBox ComboBox1.List(ComboBox1.ListIndex, 1)
MsgBox ComboBox1.Value
End Sub
 
Private Sub UserForm_Initialize()
Dim Estados(1 To 5, 1 To 2) As String
 
'       L  C
Estados(1, 1) = "AC"
Estados(2, 1) = "BA"
Estados(3, 1) = "RJ"
Estados(4, 1) = "SP"
Estados(5, 1) = "SC"
 
'       L  C
Estados(1, 2) = "Acre"
Estados(2, 2) = "Bahia"
Estados(3, 2) = "Rio de Janeiro"
Estados(4, 2) = "São Paulo"
Estados(5, 2) = "Santa Catarina"
 
ComboBox1.List = Estados
End Sub

Acesse também

BLOG ► https://www.tomasvasquez.com.br/blog/
FÓRUM ► https://www.tomasvasquez.com.br/forum/
CURSO ONLINE DE C# ► https://www.tomasvasquez.com.br/cursocsharp

Aqui também!

FACEBOOK ► https://www.facebook.com/tomasvaquezsites
TWITTER ► https://twitter.com/tomamais
GOOGLE+ ► https://plus.google.com/+TomasvasquezBr/

Roteiro, apresentação, edição, etc, etc ► eu mesmo 🙂