
Digamos que tengo un rango, A1:A27, y ese rango tiene una combinación de valores vacíos y no vacíos. Me gustaría tener dos funciones: una para obtener el primer valor no vacío del rango y otra para obtener el último valor no vacío. valor vacío en el rango así.
=First(A1:A27)
=Last(A1:A27)
Los rangos serán solo matrices unidimensionales.
Voy a tener que hacer muchas instancias de esto en mi hoja, por lo que los scripts de la aplicación no se podrán utilizar debido a ineficiencias.
¿Cómo escribirías estas funciones?
Respuesta1
Podríamos usar esto para encontrar el primer valor que no esté vacío en el rango:
=INDEX(A1:A27, MATCH(TRUE, A1:A27<>"", 0))
Y podríamos usar esto para encontrar el último valor no vacío del rango:
=INDEX(A1:A27, MAX(IF(A1:A27<>"", ROW(A1:A27))))
Respuesta2
Función TOCOLO
Si solo está buscando los valores, TOCOL eliminará los espacios en blanco y podrá usar INDEX para tomar el primer valor, y para el último valor haga lo mismo pero ordene por fila descendente:
# Obtener el primer valor =ÍNDICE(TOCOL(A1:A27,1),1) # Obtener el último valor =ÍNDICE(TOCOL(ORDENAR(A1:A27,FILA(A1:A27),0),1),1)
Función XMATCH
Elfunción XMATCHtiene una ventaja sobre MATCH para esta aplicación porque admite búsquedas del primero al último y del último al primero.
# Sintaxis =XMATCH(clave_búsqueda, rango_búsqueda, [modo_coincidencia], [modo_búsqueda])
Ejemplos de XMATCH
La sintaxis del primer valor es similar a MATCH exceptoexact_match=0
es el valor predeterminado, por lo que se puede omitir.
# Primer valor =ÍNDICE(A1:A27, XMATCH(VERDADERO, A1:A27<>"")) =FILA(ÍNDICE(A1:A27, XMATCH(VERDADERO, A1:A27<>""))) //Devuelve fila #
XMATCH admite la búsqueda del último al primero especificandosearch_mode=-1
# Último valor =ÍNDICE(A1:A27, XMATCH(VERDADERO, A1:A27<>"",,-1)) =FILA(ÍNDICE(A1:A27, XMATCH(VERDADERO, A1:A27<>"",,-1))) //Devuelve fila #