Obtener el valor de la última celda poblada en un rango de una columna para la hoja de cálculo de Google

Obtener el valor de la última celda poblada en un rango de una columna para la hoja de cálculo de Google

Dado un rango de celdas en una columna, busque la última entrada completa y devuelva ese valor.

Tengo un libro mayor con una columna donde completo un valor la mayoría de los días en una nueva fila, comenzando desde arriba y siguiendo hacia la ciudad. Los días que falto, la celda queda vacía. Me gustaría utilizar el último valor ingresado pero no estoy seguro de cómo buscarlo. Lógicamente quiero buscar de abajo hacia arriba buscando la primera celda no vacía del rango. El rango crece cada día, pero la función siempre debe devolver la entrada inferior. Algunos días no se realiza ninguna entrada dejando esa celda vacía, por lo que no puede simplemente detenerse en la primera celda vacía y retroceder 1. Necesita encontrar la última celda poblada en todo el rango.

No sé si find() o search() pueden ubicar el primer "Non-WhiteSpaceOrEmptyString", o lo usaría para buscar de abajo hacia arriba.

Respuesta1

Yo mismo creé una solución. En Google Sheets puedes crear funciones personalizadas. En el menú Herramientas, haga clic en Editor de secuencias de comandos. En el editor, agregue la siguiente función:

function LASTPOPULATED(range2d) {
  if (!Array.isArray(range2d)) { return null; }
  for (i=range2d.length-1; i>-1; i--) {
    e = range2d[i];
    if (!Array.isArray(e) || e.length != 1) { return null; }
    v = e[0];
    if (typeof(v) === 'number' || (typeof(v) === 'string' && v.length > 0)) { return v; }
  }
  return null;
}

Para usarlo, llame a LASTPOPULATED(range) donde el rango está en el formato celda1:celda2. Los rangos de Google Sheets son siempre bidimensionales, así que asegúrese de que represente un rango de columnas, como B1:B100 o la función devolverá nulo si se detecta más de 1 columna antes de encontrar un elemento poblado.

información relacionada