Fórmula de Excel: obtenga la primera entrada por mes y año -

Fórmula genérica

(=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(A1,"mmyy"),0)))

Resumen

Para buscar la primera entrada en una tabla por mes y año, puede usar una fórmula de matriz basada en las funciones INDICE, COINCIDIR y TEXTO.

la función BUSCAR con la función TEXTO. En el ejemplo que se muestra, la fórmula en F5 es:

=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(E5,"mmyy"),0))

donde "entrada" es el rango con nombre C5: C13, "fecha" es el rango con nombre B5: B13 y E5 contiene una fecha válida.

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

Explicación

Nota: los valores en E5: E7 son fechas reales, formateadas con el formato de número personalizado "mmyy".

Trabajando de adentro hacia afuera, la expresión:

MATCH(TRUE,TEXT(date,"mmyy")=TEXT(E5,"mmyy")

usa la función TEXT para generar una matriz de cadenas en el formato "mmyy":

("0117"; "0117"; "0117"; "0217"; "0217"; "0217"; "0317"; "0317"; "0317")

que se comparan con una sola cadena en función del valor en E5, "0117". El resultado es una matriz de valores VERDADERO / FALSO:

(VERDADERO; VERDADERO; VERDADERO; FALSO; FALSO; FALSO; FALSO; FALSO; FALSO)

que se introducen en la función COINCIDIR como la matriz de búsqueda, con un valor de búsqueda TRUE y un tipo de coincidencia de cero para una coincidencia exacta. En el modo de coincidencia exacta, la función COINCIDIR devuelve la posición del primer VERDADERO en la matriz, que es 1 en la fórmula de F5. Esta posición entra en INDICE como el número de fila, con una matriz basada en el rango denominado "entrada":

=INDEX(entry,1)

Índice devuelve el elemento dentro de la entrada en la posición especificada.

Nota: si no se encuentra una entrada para un mes y año determinados, esta fórmula devolverá # N / A.

Primera entrada basada en la fecha de hoy

Para obtener la primera entrada para un mes y año determinados según la fecha de hoy, puede adaptar la fórmula para usar la función HOY en lugar del valor en E5:

(=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(TODAY(),"mmyy"),0)))

Articulos interesantes...