Fórmulas matriciales

23/11/2008 - 23:18 por Francesca Brasso | Informe spam
Hola ¿alguien me podría explicar que devuelve y por qué la siguiente fórmula
matricial? (está en la columna EW):
{=SI(MAX(COLUMNA(R7:DX7)*(R7:DX7<>"")*(RESIDUO(COLUMNA(R7:DX7)+2;10)=0))=0;"";INDICE(7:7;MAX(COLUMNA(R7:DX7)*(R7:DX7<>"")*(RESIDUO(COLUMNA(R7:DX7)+2;10)=0))))}

y también esta otra que está en la columna siguiente a la anterior (columna
EX):
{=SI(EW7="";"";INDICE(7:7;MAX(COLUMNA(R7:DX7)*(R7:DX7<>"")*(RESIDUO(COLUMNA(R7:DX7)+2;10)=0))+1))}

Gracias
Frn
 

Leer las respuestas

#1 Héctor Miguel
24/11/2008 - 03:13 | Informe spam
hola, Francesca !

1) las formulas crean una matriz iniciando en la columna R (18)
2) a cada columna se suma 2 (por lo que la primer columna -18- se convierte en 20)
3) despues, descartan las columnas a solo los multiplos de 10 (lo que hace la funcion residuo)
4) de lo anteiror, las formulas solo buscan en 12 columnas: R, AB, AL, AV, BF, BP, BZ, CJ, CT, DD, DN, DX
5) la primer formula identifica cual es la (maxima) columna cuyo contenido sea diferente de "" (vacio ?)
una vez encontrado, la funcion indice(... devuelve su contenido
6) la segunda formula devuelve el contendo de la celda en la columna "siguiente" (de la formula anterior)

OJO: podrias usar solo la segunda parte de cada formula omitiendo la condicional y la cadena de texto de longitud 0 =si(..."")
si no se encuentra nada en el rango de busqueda, ambas formulas devolverian 0 (cero) que puedes ocultar (p.e.)
desde (menu) herramienas / opciones / (ficha) ver / (seccion) opciones de ventana / desmarca la casilla de "valores en cero"

saludos,
hector.

__ OP __
alguien me podria explicar que devuelve y por que la siguiente formula matricial? (esta en la columna EW):
{=SI(MAX(COLUMNA(R7:DX7)*(R7:DX7<>"")*(RESIDUO(COLUMNA(R7:DX7)+2;10)=0))=0;"";INDICE(7:7;MAX(COLUMNA(R7:DX7)*(R7:DX7<>"")*(RESIDUO(COLUMNA(R7:DX7)+2;10)=0))))}

y también esta otra que está en la columna siguiente a la anterior (columna EX):
{=SI(EW7="";"";INDICE(7:7;MAX(COLUMNA(R7:DX7)*(R7:DX7<>"")*(RESIDUO(COLUMNA(R7:DX7)+2;10)=0))+1))}

Preguntas similares