Saltar al contenido

¿Existe una fórmula de Google Sheets para poner el nombre de la hoja en una celda?

Solución:

Esto es lo que encontré para Google Sheets:

Para obtener el nombre de la hoja actual en las hojas de Google, el siguiente script simple puede ayudarlo sin ingresar el nombre manualmente, haga lo siguiente:

  1. Haga clic en Herramientas> Editor de secuencias de comandos

  2. En la ventana del proyecto abierta, copie y pegue el siguiente código de secuencia de comandos en la ventana de Código en blanco, vea la captura de pantalla:

………………….

function sheetName() {
  return SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
}

Luego guarde la ventana de código y regrese a la hoja de la que desea obtener su nombre, luego ingrese esta fórmula: =sheetName() en una celda y presione la tecla Intro, el nombre de la hoja se mostrará a la vez.

Vea este enlace con capturas de pantalla agregadas: https://www.extendoffice.com/documents/excel/5222-google-sheets-get-list-of-sheets.html

Tienes 2 opciones, y no estoy seguro si soy fan de alguna de ellas, pero esa es mi opinión. Puede sentirse diferente:

Opción 1: Forzar la ejecución de la función.

Una función en una celda no se ejecuta a menos que haga referencia a una celda que ha cambiado. Cambiar el nombre de una hoja no activa ninguna función en la hoja de cálculo. Pero podemos forzar la ejecución de la función pasándole un rango y siempre que un elemento en ese rango cambie, la función se activará.

Puede utilizar el siguiente script para crear una función personalizada que recuperará el nombre:

function mySheetName() {
  var key = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
  return key;
}

y en la celda coloque lo siguiente:

=mySheetName(A1:Z)

Ahora, si algún valor en una celda en ese rango pasado cambia, el script se ejecutará. Esto toma un segundo para ejecutar la secuencia de comandos y establece un mensaje en la celda cada vez que se cambia cualquier valor, por lo que esto podría volverse molesto muy rápidamente. Como ya se mencionó, también requiere un cambio en el rango para que se active, por lo que no es realmente útil en un archivo bastante estático.

Opción 2: usar el evento OnChange

Si bien el tiempo de ejecución se siente mejor que la opción anterior, y esto no depende de un cambio de valor en las celdas de la hoja de cálculo, no me gusta esto porque fuerza a dónde va el nombre. Puede utilizar una hoja de Utilidades para definir esta ubicación en varias hojas si lo desea. A continuación se muestra la idea básica y puede ayudarlo a comenzar si le gusta esta opción.

El evento OnChange se activa cuando se cambia el nombre de la hoja. Puede hacer que el código a continuación sea más sofisticado para verificar errores, verificar la ID de la hoja para que solo funcione en una hoja determinada, etc. Sin embargo, el código básico es:

function setSheetName(e) {
  var key = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
  SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange('K1').setValue(key);
}

Una vez que haya guardado el código, en el editor de scripts configure el Activador de cambio del proyecto actual en esta función. Escribirá el nombre de la hoja en la celda K1 en cualquier evento de cambio. Para configurar el disparador, seleccione Desencadenantes del proyecto actual bajo la Editar menú.

Si hace referencia a la hoja desde otra hoja, puede obtener el nombre de la hoja mediante la función CELDA. Luego puede usar expresiones regulares para extraer el nombre de la hoja.

=REGEXREPLACE(CELL("address",'SHEET NAME'!A1),"'?([^']+)'?!.*","$1")

actualizar: la fórmula actualizará automáticamente ‘SHEET NAME’ con cambios futuros, pero deberá hacer referencia a una celda (como A1) en esa hoja cuando se ingrese originalmente la fórmula.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *