Cómo crear y usar funciones con nombre

Las funciones con nombre te permiten crear funciones personalizadas que pueden usar fórmulas integradas de Hojas de cálculo. Agregamos la capacidad de importar funciones con nombre para que puedas usarlas en más de una hoja.

Named functions tutorial

Si quieres obtener una hoja de cálculo de ejemplo y seguirla con el video, haz clic en “Crear una copia” abajo.

Crear una copia

Cómo abrir funciones con nombre

  1. En una hoja de cálculo nueva o existente, haz clic en Datos y luego Funciones con nombre.

Para una celda con una fórmula:

  1. Haz clic con el botón derecho en la celda con una fórmula.
  2. Haz clic en Ver más acciones de celda y luego Definir función con nombre.

Cómo crear una función con nombre

Cuando crees una función con nombre, usa texto como marcadores de posición para las entradas.

Por ejemplo, la función SI admite un máximo de 3 argumentos:

SI(expresión_lógica, valor_si_verdadero, valor_si_falso)

Si insertas el texto "expresión_lógica", "valor_si_verdadero" o "valor_si_falso" como argumentos en una celda, se mostrará un error. Estos argumentos son marcadores de posición y descripciones del tipo de entrada que la función espera. Si deseas incorporar varias entradas a tu función, cuando escribas una función con nombre debes definir los marcadores de posición de los argumentos.

Anteriormente, solo podías crear funciones personalizadas con Apps Script, que requiere que escribas JavaScript. Con las funciones con nombre, puedes crear funciones personalizadas con una interfaz intuitiva sin escribir código.

Estos son los 4 componentes principales de una función con nombre:

  • Nombre de la función
    • Es el nombre de la función que usas para insertarla en una celda. Se escribe con mayúscula.
    • Requisitos:
      • No puede tener el mismo nombre que el de una función integrada de Hojas de cálculo, como SUMA.
      • No puede llamarse VERDADERO ni FALSO.
      • No puede tener la sintaxis “A1” o “R1C1”.
        • Por ejemplo, si le asignas un nombre como “A1” o “AA11” a la función, se mostrará un error.
      • No puede empezar con un número.
      • Debe tener menos de 255 caracteres.
      • No debe tener espacios.
      • No debe contener caracteres especiales, a excepción de los guiones bajos.
  • Descripción de la función
    • Es la descripción de la función que aparece en la sección "Acerca de" de su cuadro de ayuda.
  • Marcadores de posición de argumentos (opcional)
    • Los marcadores de posición son descripciones del tipo de entrada que la función espera. Por ejemplo, los nombres de argumento "CELDA" o "RANGO" son para cuando la entrada esperada es una sola celda o un rango de celdas, respectivamente.
    • Requisitos:
      • No puede llamarse igual que otro marcador de posición de argumento en la función con nombre.
      • No puede tener la sintaxis “A1” o “R1C1”.
        • Por ejemplo, si le asignas un nombre como “A1” o “AA11” al marcador de posición, se mostrará un error.
      • No debe tener espacios.
      • No debe contener caracteres especiales, a excepción de los guiones bajos.
  • Definición de la fórmula
    • Es la fórmula escrita que insertas en una celda. Cuando incluyes argumentos definidos, la función espera entradas para cada argumento cuando insertas la función en una celda.
    • Requisitos:
      • Debe ser una fórmula analizable.
      • No le deben faltar paréntesis.
      • No debe contener comas mal ubicadas.

Otros detalles

Después de configurar los componentes principales anteriores, puedes agregar más detalles en la segunda página. Los marcadores de posición de argumentos que definas contarán con los siguientes campos:

  • Descripción del argumento
    • Esta es una descripción breve de lo que la función espera para este argumento. Por ejemplo, "un valor único que quieras buscar".
  • Ejemplo de argumento
    • Esta es una entrada de ejemplo para este argumento. Por ejemplo, un argumento que debería ser un rango de celdas: “B3:B14”.

Estos detalles adicionales y los componentes principales se usan para completar el cuadro de ayuda de la función cuando se agrega la función con nombre a una celda:

Sample of Named function arguments.

Cómo importar funciones con nombre

A medida que crees más funciones con nombre o encuentres funciones útiles que otros crearon, querrás usarlas en diferentes hojas de cálculo. Para volver a usar las funciones con nombre creadas, puedes importarlas desde otra hoja a la actual siguiendo estos pasos:

  1. En tu computadora, abre Hojas de cálculo de Google.
  2. Abre la hoja a la que quieres importar las funciones con nombre.
  3. En la parte superior, haz clic en Datos y luego Funciones con nombre y luego Importar función.
  4. Selecciona la hoja desde la que quieres importar las funciones.
  5. Selecciona las funciones con nombre que quieres importar.
    • Si quieres importar todas las funciones con nombre desde el archivo, haz clic en Importar todo.
  6. Haz clic en Importar.

Notas:

  • Si la función con nombre que seleccionaste para importar tiene el mismo nombre que otra ya existente en el archivo activo, la función importada anulará la existente.
  • Si la función con nombre que seleccionaste para importar depende de otra, como la definición de la fórmula, Hojas de cálculo te advertirá sobre esa dependencia y destacará las funciones dependientes.
  • Si la función con nombre que seleccionaste para importar utiliza una fórmula que interactúa con una fuente externa, como IMAGE, Hojas de cálculo te advertirá sobre esa interacción.

Ejemplos

Función con nombre con 2 marcadores de posición de argumentos

  • Nombre de la función: CONTAINS
  • Descripción: Comprueba si el valor aparece en un rango. Muestra VERDADERO si aparece el valor y FALSO si no aparece.
  • Marcadores de posición de argumentos: búsqueda, rango_búsqueda
  • Definición: =NO(ESERROR(COINCIDIR(búsqueda,rango_búsqueda,0)))
  • Más detalles:
    • Descripción del argumento: búsqueda
      • El valor que buscas
    • Ejemplo de argumento: búsqueda
      • B3
    • Descripción del argumento: rango_búsqueda
      • El rango en el que buscas el valor
    • Ejemplo de argumento: rango_búsqueda
      • B3:B14

Función con nombre sin marcadores de posición de argumentos

  • Nombre de la función: NAMED_FUNCTIONS_SLOGAN
  • Descripción: Muestra una oración agradable que describe las funciones con nombre.
  • Definición: =“Las funciones con nombre hacen que mis fórmulas sean más fáciles de usar y leer”.

Función con nombre mediante recursividad

  • Nombre de la función: REVERSE_WORDS
  • Descripción: Invierte el orden de las palabras en una string
  • Marcadores de posición: str
  • Definición:=SI(ESERROR(ENCONTRAR(" ", str)), str, REVERSE_WORDS(DERECHA(str, LARGO(str)-ENCONTRAR(" ", str)))&" "&IZQUIERDA(str, ENCONTRAR(" ",str)-1))
  • Más detalles:
    • Descripción del argumento: str
      • String que necesitas revertir
    • Ejemplo de argumento: str
      • "reversed need you String"

Función con nombre que usa LAMBDA

  • Nombre de la función: COUNT_FORMULAS
  • Descripción: Calcula la cantidad de fórmulas para un rango determinado.
  • Marcadores de posición: rango
  • Definición: =CONTAR.SI(MAP(range,LAMBDA(celda, ESFORMULA(celda))),"VERDADERO")
  • Más detalles:
    • Descripción del argumento: rango
      • El rango en el que buscas las fórmulas
    • Ejemplo de argumento: rango_búsqueda
      • A2:D7

Preguntas frecuentes

¿Puedo crear un rango relativo en mi función con nombre?

No. Todos los rangos incluidos en las definiciones de fórmulas son absolutos. Si no se incluye en la definición en ese formato, se convierten en rangos absolutos. Por ejemplo, “A1:B3” se modificará cuando se guarde en la Hoja de cálculo “1!$A$1:$B$3”. Puedes pasar rangos relativos como argumentos a la función con nombre.

¿Puedo usar nombres de funciones integradas como nombres de marcadores de posición de argumentos, como SUMA?

Sí. Puedes nombrar marcadores de posición de argumentos de la misma manera que las funciones integradas. Por ejemplo, puedes nombrar “SUMA” a un marcador de posición de argumentos. Sin embargo, si se usan juntos, el marcador de posición del argumento tiene prioridad sobre la función integrada.

¿Puedo importar nombres definidos sin parámetros a Hojas de cálculo?

Sí. Los nombres definidos sin parámetros se pueden importar a Hojas de cálculo, pero se deben llamar sin usar paréntesis.

¿Puedo editar una función con nombre definida importada sin parámetros en Hojas de cálculo?

Sí. Hojas de cálculo actualiza el nombre definido para seguir la sintaxis de la función con nombre de Hojas de cálculo. Debes agregar paréntesis a todas las referencias de celda.

¿Puedo crear una función con nombre con el mismo nombre que una función de Apps Script personalizada?

No. No se puede crear una función con nombre con el mismo nombre que una función de Apps Script personalizada existente en la Hoja de cálculo. Puedes agregar una función personalizada a una Hoja de cálculo con el mismo nombre que una función con nombre existente. Sin embargo, la función con nombre existente la reemplaza.

Aparece el mensaje de error "Se alcanzó el límite de cálculo al intentar procesar esta fórmula" para mi fórmula recurrente. ¿Cómo puedo resolverlo?

Esto puede suceder en 2 casos:

  • El cálculo de la fórmula lleva demasiado tiempo.
  • Usa demasiada memoria.

Para resolverlo, usa una fórmula más simple a fin de reducir la complejidad.

Si una función con nombre y un rango con nombre tienen el mismo nombre, ¿cuál tiene prioridad?

El rango con nombre tiene prioridad sobre la función con nombre.

Recursos relacionados

¿Necesitas más ayuda?

Prueba estos próximos pasos:

true
Visita el centro de aprendizaje

¿Usas productos de Google, como Documentos de Google, en el trabajo o en clase? Prueba estos eficientes consejos, tutoriales y plantillas. Consulta cómo trabajar con archivos de Office sin instalar Office, crear calendarios de equipo y planes de proyectos dinámicos, organizar automáticamente tu bandeja de entrada y muchas cosas más.

Búsqueda
Borrar búsqueda
Cerrar la búsqueda
Menú principal
5091251793844869120
true
Buscar en el Centro de asistencia
true
true
true
true
true
35
false
false