Blog Archive
About Me
Com tecnologia do Blogger.
Seguidores
Estatisticas
2005-11-29
Se tivermos uma Tabela, da qual queiramos apurar quantas horas trabalhou um certo empregado num determinado dia, inserindo em duas células (E2 e E3) os dados correspondentes,como no exemplo:
podemos utilizar a Função SUM() associada ao asterisco (*), que aqui funciona como o operador AND.
NOTA: Como se trata de um Array, não esquecer de utilizar {}, através das teclas CTRL + Shift + Enter na fórmula activa.
A fórmula em E11:
{=SUM($C$1:$C$8*($A$1:$A$8=E2)*($B$1:$B$8=E3))}
2005-11-19
Ontem, um amigo meu veio ter comigo e disse-me que pretendia uma macro de modo a que pudesse seleccionar um Range variável.
Por exemplo, numa tabela A1:B10, poder, a partir de um número variável numa determinada célula, seleccionar desde A1 até à linha correspondente a esse número na coluna B:
![](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_tKYK7KhVUY3__Tq1LIWbpPSkOFoGX6TY1FLriZAaCXnLhK6cA903kwGGkXy5UWc3Z5JX4UT0LpOiEUIqH5bmEQE-VrHhQuTnfrblgq43SG7Jq1WjwPvnFd=s0-d)
ou seja, no exemplo, digitar o nº 3 na célula D1 e executar a macro, de modo a ser seleccionado o Range "A1:B3":
![](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_s1_ItMkN8mFSQznXl1mLvSa_e6BhkjNtKUsYdyLKWes8XeCPsEFSV6iLI3m6gAnn7EAZ14ZREmsSk0jw506p_4IH7DE9CvS3qGyVmRlRirV9-Dk0ErCMU=s0-d)
ou, de igual modo, digitar o nº 8 na célula D1 e executar a macro, de modo a ser seleccionado o Range "A1:B8":
![](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_sNmd70xjrQr6zAkT0TiFaUVu-oLz2sOieIZwmAfLcinRjGybiSkDNecpnZS5MJyM9SradFr-zJ9lAoa2FqL8XnlYqXU1DVu8AwsU0TJW7SNXE-f3ZwEw-h=s0-d)
Eis, então, um possível Código:
Por exemplo, numa tabela A1:B10, poder, a partir de um número variável numa determinada célula, seleccionar desde A1 até à linha correspondente a esse número na coluna B:
ou seja, no exemplo, digitar o nº 3 na célula D1 e executar a macro, de modo a ser seleccionado o Range "A1:B3":
ou, de igual modo, digitar o nº 8 na célula D1 e executar a macro, de modo a ser seleccionado o Range "A1:B8":
Eis, então, um possível Código:
Private Sub CommandButton1_Click()
Dim var
var = Range("D1").Value
Range("A1", "B" & var).Select
End Sub
2005-11-15
Há dias, num newsgroup de Excel, foi colocada a seguinte questão:
"Se tivermos a seguinte tabela no Excel dentro do intervalo A1:C4
![](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_t1EItvdg-Do0yFOgzXNZqY_diAIuQheYPwD9jrTvAth7mVpnXFSHbpK-G6NW15PjHwkmPWp37VX-XSsvF4GtY8OCnS21BXy4FgTan_kMHhzKQ4cw-g1pQ=s0-d)
e tendo definido [Inserir > Nome > Definir] os seguintes nomes:TMN=B3:C4; Econo=B3:B4; Norm=C3:C4; Mimo=B3:C3; Pako=B4:C4", como mostra o exemplo:
![](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_sd48w2ZzEdYG7lVRw85RMmgUiU4W3NNaDJGW-bxBGF7w4n6WChIur4rP7E9FxaY5VsFzqqRKHoLHBZ4Iec4X2mE1NU1OQUwhcN78x2nkQxzbtL6uGA9w=s0-d)
"Se colocarmos a seguinte formula na celula E10: =TMN Econo Pako, irá aparecer o valor da intersecção dos 3 nomes(ou seja 3 conjuntos) que é 25:"
![](https://lh3.googleusercontent.com/blogger_img_proxy/AEn0k_vFebmrWdtedik64LIuC-oGth8GbT9SPTMZeIrfZro-JPI7fJf4SLFaV8Z80JNBaDaT0-Bjc5f1aWNOpvqf5_S-Bhs_BDYmH4E9C7pjjuQiDr_qxnsuLnY=s0-d)
Agora, a pergunta:
"Qual a fórmula que devo pôr nas células E10 e F10 para fazer a intersecção dos três nomes que eu colocar nas três linhas anteriores dessa coluna, ou seja, nos Ranges E7:E9 e F7:F9, de modo a dar os valores da intersecção - 25 e 35?"
Uma possível resposta:
Continuando a utilizar o caracter espaço (tecla de espaço) como o operador de intersecção, então, podemos socorrer-nos da Função INDIRECT() [em Português INDIRECTO()].
O Código:
Em E10:
=INDIRECT(E7) INDIRECT(E8) INDIRECT(E9)
Em F10:
=INDIRECT(F7) INDIRECT(F8) INDIRECT(F9)
"Se tivermos a seguinte tabela no Excel dentro do intervalo A1:C4
e tendo definido [Inserir > Nome > Definir] os seguintes nomes:TMN=B3:C4; Econo=B3:B4; Norm=C3:C4; Mimo=B3:C3; Pako=B4:C4", como mostra o exemplo:
"Se colocarmos a seguinte formula na celula E10: =TMN Econo Pako, irá aparecer o valor da intersecção dos 3 nomes(ou seja 3 conjuntos) que é 25:"
Agora, a pergunta:
"Qual a fórmula que devo pôr nas células E10 e F10 para fazer a intersecção dos três nomes que eu colocar nas três linhas anteriores dessa coluna, ou seja, nos Ranges E7:E9 e F7:F9, de modo a dar os valores da intersecção - 25 e 35?"
Uma possível resposta:
Continuando a utilizar o caracter espaço (tecla de espaço) como o operador de intersecção, então, podemos socorrer-nos da Função INDIRECT() [em Português INDIRECTO()].
O Código:
Em E10:
=INDIRECT(E7) INDIRECT(E8) INDIRECT(E9)
Em F10:
=INDIRECT(F7) INDIRECT(F8) INDIRECT(F9)
Subscrever:
Mensagens (Atom)