About Me
Com tecnologia do Blogger.
Seguidores
Estatisticas
2005-06-07
Excel: As Funções SUM(), INDIRECT() e VALUE() em Array - III
5:26 da tarde |
Publicada por
JRod - PORTUGAL |
Editar mensagem
No post anterior, mostrei um exemplo com uma fórmula para contar o número de células com valor compreendido entre 0 e 15 dentro de um Range fixo ( no exemplo: A1:A6).
Mas como fazer, se pretendermos que o Range possa ser variável, ou seja, podendo ser A1:A6, ou A1:A8 ou A1:A12?. Então, o que teremos que fazer é construirmos a formula de modo a que à variável (x) em A1:A(x) seja atribuído um valor sem ser necessário estar sempre a alterar a fórmula:
Neste caso, sem termos que recorrer ao VBA, podemos utilizar uma célula de referência, a qual irá "informar" a fórmula de qual será o valor que irá receber, para que o Range pretendido seja avaliado.
No exemplo, a célula de referência é E1,que deve ser formatada como texto:
que pode ser formatada como número:
O Array em B1:
{=SUM((INDIRECT("A1:A"&VALUE(E1))>0)*(INDIRECT("A1:A"&VALUE(E1))<=15))}
=SUM((INDIRECT("A1:A"&E1)>0)*(INDIRECT("A1:A"&E1)<=15))
NOTA: Para obter o Array {} utilizar - CTRL + Shift + Enter
Mas como fazer, se pretendermos que o Range possa ser variável, ou seja, podendo ser A1:A6, ou A1:A8 ou A1:A12?. Então, o que teremos que fazer é construirmos a formula de modo a que à variável (x) em A1:A(x) seja atribuído um valor sem ser necessário estar sempre a alterar a fórmula:
Neste caso, sem termos que recorrer ao VBA, podemos utilizar uma célula de referência, a qual irá "informar" a fórmula de qual será o valor que irá receber, para que o Range pretendido seja avaliado.
No exemplo, a célula de referência é E1,
O Array em B1:
=SUM((INDIRECT("A1:A"&E1)>0)*(INDIRECT("A1:A"&E1)<=15))
NOTA: Para obter o Array {} utilizar - CTRL + Shift + Enter