Applies ToExcel para Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Excel 2010

Una función personalizada usa el idioma de la fórmula M, toma un conjunto de valores de entrada y, a continuación, devuelve un único valor de salida. Si tiene lógica que desea volver a usar muchas veces o aplicar el mismo conjunto de transformaciones a una consulta o valor diferente, considere la posibilidad de crear una función personalizada y, a continuación, invocar la función donde y cuando la necesite. Hay varias formas de crear una función personalizada: 

  • Use el Editor avanzado para agregar su propia instrucción let y empezar desde cero.

  • Use el comando Invocar función personalizada.

  • Hay otras formas de crear funciones que no se debate en este tema de ayuda, como los comandos Crear función y Agregar como consulta. Para obtener una discusión detallada, vea Descripción de las funciones M de Power Query (docs.com)y Uso de funciones personalizadas (docs.com).

A continuación se muestra un ejemplo sencillo de una función personalizada que sigue una larga tradición de programación.

  1. Para crear una consulta en blanco: Excel Seleccionar datos> Obtener datos > de otros orígenes       > consulta en blanco.Power Query      Haga clic con el botón derecho en un punto en blanco en el panel Consultas de la izquierda y, a continuación, seleccione Nueva consulta > Otros orígenes > consulta en blanco.

  2. En el panel Consultas de la izquierda, haga doble clic en el nombre y, después, cambie el nombre de la nueva consulta en blanco a "HelloWorld".

  3. Seleccione la nueva consulta y, a continuación, seleccione Inicio> Editor avanzado.

  4. Reemplace el código inicial de la plantilla con el siguiente código:

    let      HelloWorld = () => ("Hello World") in      HelloWorld

  5. Selecciona Listo.

  6. Ha cambiado la consulta , "HelloWorld", a una función personalizada. Observe el icono de función Icono de función a la izquierda de ella.

  7. Para invocar la función, selecciónelo y, a continuación, seleccione Invocar en vista previa de datos.Invocar la función personalizada HelloWorld

  8. Los resultados de la función se muestran en vista previa de datos y se agregan al panel Consultas como una consulta con el nombre predeterminado, Función invocada. Es posible que desee cambiarle el nombre a algo más significativo, como "HelloWorldResult".

  9. Seleccione esa consulta y, a continuación, seleccione Inicio > Cerrar & cargar para ver los resultados en una hoja de cálculo.

Resultados 

Resultados de HelloWorld en una hoja de cálculo

En el ejemplo siguiente se muestra cómo pasar un parámetro a una función personalizada para convertir un número decimal en hexadecimal.

  1. Para crear una consulta en blanco: Excel Seleccionar datos> Obtener datos > de otros orígenes       > consulta en blanco.Power Query      Haga clic con el botón derecho en un punto en blanco en el panel Consultas de la izquierda y, a continuación, seleccione Nueva consulta > Otros orígenes > consulta en blanco.

  2. En el panel Consultas de la izquierda, cambie el nombre de la nueva consulta en blanco a "MyHex".

  3. Seleccione la nueva consulta y, a continuación, seleccione Inicio> Editor avanzado.

  4. Reemplace el código inicial de la plantilla con el siguiente código:

    let      MyHex = (parameter1) => Number.ToText(parameter1,"X") in      MyHex

  5. Selecciona Listo.

  6. Ha cambiado la consulta , "MyHex", a una función personalizada. Observe el icono de función Icono de función a la izquierda de ella.

  7. Para invocar la función, selecciónelo y, a continuación, en Vista previa de datos, escriba un número en el cuadro parámetro1 y seleccione Invocar.

    Invocar la función personalizada MyHex

  8. Los resultados de la función se muestran en vista previa de datos y se agregan al panel Consultas como una consulta con el nombre predeterminado Función invocada. Es posible que desee cambiarle el nombre a algo más significativo, como "MyHexResult".

  9. Seleccione esa consulta y, a continuación, seleccione Inicio > Cerrar & cargar para ver los resultados en una hoja de cálculo.

Resultados 

Resultado de la función MyHex en una hoja de cálculo

Si ha creado una función con al menos un parámetro, puede invocarla como una función personalizada para crear una nueva columna y un nuevo valor para cada fila de una tabla.

  1. Para abrir una consulta, busque una cargada previamente desde el Editor de Power Query, seleccione una celda de los datos y, a continuación, seleccione Consulta > Editar. Para obtener más información, vea Crear, editar y cargaruna consulta en Excel (Power Query).Nota    Para este ejemplo, la consulta necesita al menos una columna de un tipo de datos Número entero.

  2. Cree la función personalizada "MyHex", como se explica en la sección, Cree e invoque una función personalizada que tenga un parámetro con el Editor avanzado.

  3. En la consulta, seleccione Agregar columna > Invocar función personalizada. Aparecerá el cuadro de diálogo Invocar función personalizada.

  4. Escriba el nuevo nombre de columna, como "HexConvert", en el cuadro Nuevo nombre de columna.

  5. Seleccione el nombre de una función personalizada predefinida en el menú desplegable Consulta de funciones. En este ejemplo, seleccione "MyHex".

  6. Como la función personalizada hace referencia a un parámetro, ahora se muestra el parámetro.

  7. Seleccione una columna de un tipo de datos Número entero como parámetro para la función.Cuadro de diálogo Invocar función personalizada

  8. Selecciona Aceptar.

Resultado

Se crea una nueva columna que muestra el valor Hexadecimal de la columna Número entero que ha escrito como parámetro.

La nueva columna de valores de MyHex en una hoja de cálculo

Consulte también

Ayuda de Power Query Excel usuario

Crear fórmulas de Power Query en Excel

Crear una consulta de parámetros

Administrar consultas

Descripción de las funciones M de Power Query (docs.com)

Usar funciones personalizadas (docs.com)

¿Necesita más ayuda?

¿Quiere más opciones?

Explore las ventajas de las suscripciones, examine los cursos de aprendizaje, aprenda a proteger su dispositivo y mucho más.

Las comunidades le ayudan a formular y responder preguntas, enviar comentarios y leer a expertos con conocimientos extensos.