
Tengo las siguientes dos matrices:
{a,b,c}
{d,e,f}
¿Cómo obtengo esta matriz?
{a*d,b*e,c*f}
Por ejemplo, una matriz es {0,1,1} y otra es {255,122,0}. Necesito esta matriz:
{0,122,0}
Realmente es así de simple.
Esto está relacionado con este hilo:Excel: busque la última celda distinta de cero y no vacía en el rango filtrado
Descubrí que esta fórmula SUBTOTAL(2,OFFSET(R5,ROW(R5:R200)-ROW(R5),0)) da 1 para los datos filtrados (visibles) y 0 para los filtrados (invisibles). Entonces, esta es una matriz con 196 elementos de 0 o 1.
Otra matriz, OFFSET(R5,ROW(R5:R200)-ROW(R5),0), básicamente, es solo R5:R200.
Si puedo multiplicar cada elemento de una matriz por su contraparte correspondiente en otra matriz y obtener una nueva matriz, entonces la siguiente BÚSQUEDA dará el último número distinto de cero en los datos filtrados.
=BUSCAR(2,1/NUEVA-ARRAY,R5:R200)
Esto se debe a que la matriz SUBTOTAL da 1 por cada celda filtrada (visible) y cuando se multiplica por el contenido de la celda, esas celdas visibles con contenido de 0 se convertirán en 0 en la nueva matriz (el segundo 1 en {0,1,1 } veces 0 en {255,122,0}). Por lo tanto, BUSCAR seleccionará la última celda distinta de cero.
Respuesta1
Como dijo @Jeeped, use ÍNDICE:
INDEX({0,1,1}*{255,122,0},0)
Esto devolverá la matriz {0,122,0} a otra fórmula
Como puedes ver si sumamos los números:
=SUM(INDEX({0,1,1}*{255,122,0},0))
Que devuelve 122
Respuesta2
Respuesta3
Digamos que en las celdas A1, B1 y C1 tienes 1, 2 y 3 respectivamente. Y en las celdas A2, B3 y C2 tienes 4, 5 y 6 respectivamente.
En la celda A3, puedes ingresar la fórmula:
= A1:C1 * A2:C2
y generará una matriz de {4,10,18} que se extenderá a A3, B3 y C3 respectivamente.