Devolver una matriz en Excel Usando Uso de la función INDICE
Por cualquier motivo, si desea realizar alguna operación en un rango con índices particulares, pensará en usar la función INDICE para obtener una matriz de valores en índices específicos. Me gusta esto.
Vamos a entenderlo con un ejemplo.
Aquí, tengo una columna de Tasas. Quiero sumar valores en la posición 1,3 y 5.
Escribo esta fórmula en C2.
=SUM(INDEX(A2:A11,{1,3,5}))
Sorprendentemente, la función INDICE no devuelve una matriz de valores cuando proporcionamos una matriz como índices. Solo obtenemos el primer valor. Y la función SUM devuelve la suma de un solo valor.
Entonces, ¿cómo obtenemos que la función INDICE devuelva esa matriz? Bueno, encontré esta solución en Internet y realmente no entiendo cómo funciona, pero funciona.
La fórmula genérica para obtener una matriz de índices
=SUM(INDEX(range,N(IF(1,{numbers})))
Rango: es el rango en el que desea buscar en números de índice dados. Número: estos son los números de índice.
Ahora apliquemos la fórmula anterior a nuestro ejemplo.
Escribe esta fórmula en C2.
=SUM(INDEX(A2:A11,N(IF(1,{1,3,5})))
Y esto devuelve la respuesta correcta como 90.
Cómo funciona.
Bueno, como dije, no sé por qué funciona y devuelve la matriz de números, pero aquí lo que sucede.
enlace: / tips-if-condition-in-excel [IF]
(1, \ {1,3,5}):
Esta parte devuelve la matriz \ {1,3, 5} como se esperaba N (link: / tips-if-condition-in-excel [IF]
(1, \ {1,3,5}))
esto se traduce en N (\ {1,3,5}) lo que nuevamente nos da \ {1,3,5} NOTA: La función N devuelve el número equivalente de cualquier valor. Si un valor no es convertible en números, devuelve 0 (como texto). Y para errores devuelve error.
link: / lookup-formulas-excel-index-function [INDEX]
A2: A11, N (link: / tips-if-condition-in-excel [IF]
(1, \ {1,3 , 5}):
esta parte se traduce como link: / lookup-formulas-excel-index-function [INDEX]
((A2: A11, \ {1,3,5})
y de alguna manera esto devuelve la matriz \ {10,30,50}. Como ha visto anteriormente cuando escribe link: / lookup-formulas-excel-index-function [INDEX]
((A2: A11, \ { 1,3,5})
directamente en la fórmula, solo devuelve 10. Pero cuando usamos las funciones N e IF, devuelve la matriz completa. Si lo entiendes, avísame en la sección de comentarios a continuación.
Cómo usar referencias de celda para valores de índice para obtener una matriz
En el ejemplo anterior, codificamos los índices en función. Pero, ¿qué pasa si quiero tenerlo de un rango que puede cambiar. ¿Reemplazamos \ {1,3,5} con rango? Intentémoslo.
Aquí tenemos esta fórmula en la celda D2:
=SUM(INDEX(A2:A11,N(IF(1,A2:A5)))
Esto devuelve 10. El primer valor del índice dado. Incluso si e nterlo como una fórmula de matriz usando CTRL + MAYÚS + ENTRAR, da el mismo resultado.
Para que funcione, agregue el operador + o – (unario doble) antes del rango e introdúzcalo como fórmula de matriz.
{=SUM(INDEX(A2:A11,N(IF(1,+A2:A5)))}
Esto funciona. No me preguntes cómo. Simplemente funciona. Si puede decirme cómo incluiré su nombre y explicación aquí.
Entonces aprendimos cómo obtener una matriz a partir de la función INDICE. Hay algunas cosas locas sucediendo aquí en Excel. Si puede explicar cómo funciona aquí en la sección de comentarios a continuación, lo incluiré en mi explicación con su nombre.