Fórmula de Excel: suma valores de texto como números -

Tabla de contenido

Resumen

Para traducir valores de texto en números y sumar el resultado, puede usar una fórmula INDICE y COINCIDIR, y la función SUMA. En el ejemplo que se muestra, la fórmula en H5 es:

(=SUM(INDEX(value,N(IF(1,MATCH(C5:G5,code,0))))))

donde "código" es el rango con nombre K5: K9 y "valor" es el rango con nombre L5: L9.

Nota: esta es una fórmula de matriz y debe ingresarse con control + shift + enter.

Explicación

El corazón de esta fórmula es una fórmula básica de ÍNDICE y COINCIDENCIA, que se utiliza para traducir valores de texto en números como se define en una tabla de búsqueda. Por ejemplo, para traducir "EX" al número correspondiente, usaríamos:

=INDEX(value,MATCH("EX",code,0))

que devolvería 4.

Sin embargo, el giro en este problema es que queremos traducir y sumar un rango de valores de texto en las columnas C a G a números. Esto significa que debemos proporcionar más de un valor de búsqueda y necesitamos que INDICE devuelva más de un resultado. El enfoque estándar es una fórmula como esta:

=SUM(INDEX(value,MATCH(C5:G5,code,0)))

Después de que se ejecuta MATCH, tenemos una matriz con 5 elementos:

=SUM(INDEX(value,(2,2,3,2,5)))

Entonces parece que INDEX debería devolver 5 resultados a SUM. Sin embargo, si intenta esto, la función INDICE devolverá solo un resultado SUM. Para que INDEX devuelva múltiples resultados, necesitamos usar un truco bastante oscuro y envolver MATCH en N e IF de esta manera:

N(IF(1,MATCH(C5:G5,code,0)))

Esto efectivamente obliga a INDEX a proporcionar más de un valor a la función SUM. Después de que se ejecute INDEX, tenemos:

=SUM((3,3,2,3,-1))

Y la función SUMA devuelve la suma de los elementos de la matriz, 10. Para una buena descripción de este comportamiento, consulte este interesante artículo en el sitio web de EXCELXOR.

Articulos interesantes...