Fórmula de matriz inteligente: haga referencia al encabezado de la columna en la última celda que no está en blanco de una fila

¿Conoce el ingenioso truco de crear una referencia a un encabezado de columna en la última celda que no está en blanco de una fila? Lo mejor: no necesita líneas ni columnas auxiliares. Es fácil:

Combine las cuatro funciones IFERROR (), INDEX (), MAX () e IF ()

El director gerente de ventas le enviará una lista de los contratos celebrados por mes para los productos que se están eliminando ①. Debe utilizar una fórmula en la columna N para especificar el último mes de ventas de cada producto, sin líneas ni columnas auxiliares. Si no se han concluido más contratos, ingrese una celda vacía en la columna N.

Este ejemplo, banal a primera vista, resulta ser un hueso duro de roer sin el uso de líneas o columnas auxiliares. como Excel para practicar-¡Los lectores rompen la nuez! Tenemos la siguiente fórmula de matriz en la celda para resolver problemas N2 creado ②:

{= SIERROR (ÍNDICE ($ B $ 1: $ M $ 1; MAX (SI (B2: M2 ""; COLUMNA (B2: M2) -1; -1))); "")}

Eche un vistazo a cómo funciona paso a paso.

Comience con la condición IF () integrada en la fórmula de matriz: {= SIERROR (ÍNDICE ($ B $ 1: $ M $ 1; MAX (SI (B2: M2 "", COLUMNA (B2: M2) -1, -1)));"")}

La condición IF () crea una línea auxiliar ficticia en la fórmula de matriz y busca las celdas B2 Hasta que M2si estos están vacíos o no. Si una celda está vacía, el valor -1 se devuelve a través de la función COLUMN (), el número de columna respectivo menos el valor 1.
La resta de 1 es necesaria en la fórmula porque la primera columna de la tabla no contiene el nombre del mes, sino el nombre del producto. A continuación, aprenderá cómo usar la función INDICE () para mostrar el nombre del mes correspondiente, que, si no restó el 1, debido a la columna adicional utilizada UNA. sería incorrecto exactamente en una columna.

Si todas las celdas del rango B2: M2 están vacías, el valor -1 (sin ventas de productos) crea un error que usamos para representar una celda vacía. La línea auxiliar activa se puede ver en la Fig. ③ en la línea 3.

En el siguiente paso, lee el valor más grande con la función MAX (), en la que se anida la condición IF (). Este es el valor 12 en la línea 3 (columna 13 menos 1; vea la línea auxiliar en la Figura ③):

{= SIERROR (ÍNDICE ($ B $ 1: $ M $ 1;MAX (SI (B2: M2 "", COLUMNA (B2: M2) -1, -1)));"")}

Pasa este valor MAX a la función INDEX (). A continuación, se lee el mes calendario correspondiente en la línea 1. El área de datos de la función INDICE () es el área $ B $ 1: $ M $ 1. El valor MAX pasado, en el ejemplo 12, significa que el duodécimo valor de la lista, es decir, dic para el mes de diciembre:

{= SIERROR(ÍNDICE ($ B $ 1: $ M $ 1; MAX (SI (B2: M2 ""; COLUMNA (B2: M2) -1; -1)));"")}

Si todas las celdas en el rango de meses de la tabla están vacías, entonces el valor más grande es -1 (vea la condición IF () al principio). Si el valor -1 se pasa a la función INDICE (), esto conduce inevitablemente a un valor de error, ya que el área de lista de la función INDICE () solo contiene doce entradas y por lo tanto no puede encontrar la entrada -1. Captura este valor de error con la función IFERROR () y en su lugar devuelve una cadena vacía. En el ejemplo, este es el caso del producto C en la línea 4, porque no se pudo concluir más contrato para este producto:

{=SI ERROR(ÍNDICE ($ B $ 1: $ M $ 1; MAX (SI (B2: M2 "", COLUMNA (B2: M2) -1, -1)));"")}

Dado que esta es una fórmula de matriz, complete la entrada de la fórmula con la combinación de teclas Ctrl + Shift + Enter.

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave