Power Query – función para eliminar acentos

Última actualización el 17/08/2025
Tiempo de lectura: 2 minutos

Encuentre en este artículo una función de Power Query personalizada para eliminar todos los acentos de sus cadenas de caracteres.

Power Query frente a VBA

Dans este artículo Tienes una situación similar pero escrita en VBA. Sin embargo, en VBA, no es posible escribir caracteres más allá del carácter 255 en la tabla de caracteres ASCII.

tabla ASCII

Sin embargo, algunos caracteres, como ż, ł o ń, se encuentran más allá de la posición 255 en la tabla ASCII. Por lo tanto, se recomienda usar Power Query para eliminar todos los acentos de las cadenas.

Descripción general del código

El principio de la función Power Query es crear una lista bidimensional.

  1. Un primer nivel para listar las letras sin acentos para devolver.
  2. Todas las letras acentuadas para la misma letra.
(MyText as text) =>
let
    ListAccents = 
		{
		{"à","a"},
		{"á","a"},
		{"â","a"},
		{"ã","a"},
		{"ä","a"},
		{"å","a"},
		{"è","e"},
		{"é","e"},
..........
		{"ś","s"},
		{"ż","z"},
		{"ź","z"},
		{"Ą","A"},
		{"Ć","C"},
		{"Ę","E"},
		{"Ł","L"},
		{"Ń","N"},
		{"Ś","S"},
		{"Ż","Z"},
		{"Ź","Z"},
		}
in
    Text.Combine(List.ReplaceMatchingItems(Text.ToList(MyText), ListAccents))

El resultado de la función recombinará la cadena inicial de la siguiente manera:

  • Texto.ToList que explotará el texto Mi texto en una secuencia de letras únicas en la memoria
  • Lista.ReplaceMatchingItems Reemplazará las letras presentes en la tabla de conversión.
  • Text.Combine reconstruirá la cadena original

Descargar código

Haga clic en el siguiente botón para descargar el código de función personalizado.

Establecimiento

  1. Copia el código proporcionado en este artículo
  2. Luego entra en Datos > Obtener datos > De otras fuentes > Consulta vacía
  3. Pegue el código en la consulta vacía
  4. Dale el nombre fnEliminarAcentos
Crea tu función personalizada en Power Query

función de llamada

Construya su consulta de manera normal y luego llame a la función

  1. Añadir una nueva columna
  2. Después Agregar una función personalizada
  3. Haga clic en el menú desplegable de Consulta de función y seleccione la consulta fnEliminarAcentos
  4. Por último, indique la columna que contiene los valores a limpiar.
Llamar a una función personalizada para eliminar acentos

3 Comentarios

  1. Céline
    24/04/2024 a las 19:13

    ¡Guau! Es genial ! Muchas gracias, realmente puede ayudar, como crear direcciones de correo electrónico para una empresa con nombre.apellido@empresa.fr ¡Y quita los acentos!
    Gracias Frédéric por estos GRANDES CONSEJOS
    Céline

    Responder

  2. Laurent
    13/11/2020 a las 21:38

    En idea, es muy práctico pero imposible hacer que el código funcione.

    Corregí la lista de letras con acentos (consulte la versión VB para conocer las correspondencias correctas), eliminé la coma adicional al final de la lista. Pero Excel sigue generando un error cuyo mensaje es incomprensible y la ayuda solo sugiere reiniciar la aplicación.

    Es una lástima !

    Responder

    • Frédéric LE GUEN
      14/11/2020 a las 09:33

      Hola,
      Sí, dejé un error en el código (dsl). Puse la nueva versión en línea con un ejemplo de un libro de Excel.

      Responder

Dejar un comentario

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

Este sitio usa Akismet para reducir los no deseados. Obtenga más información sobre cómo se procesan sus datos de comentarios.

Jugador Más Valioso de Microsoft 2024

Boletín informativo

1 vez al mes:
Consejos y cuestionarios

    No te enviaremos spam. Puedes darte de baja en cualquier momento.

    Power Query – función para eliminar acentos

    Tiempo de leer: 2 minutos
    Última actualización el 17/08/2025

    Encuentre en este artículo una función de Power Query personalizada para eliminar todos los acentos de sus cadenas de caracteres.

    Power Query frente a VBA

    Dans este artículo Tienes una situación similar pero escrita en VBA. Sin embargo, en VBA, no es posible escribir caracteres más allá del carácter 255 en la tabla de caracteres ASCII.

    tabla ASCII

    Sin embargo, algunos caracteres, como ż, ł o ń, se encuentran más allá de la posición 255 en la tabla ASCII. Por lo tanto, se recomienda usar Power Query para eliminar todos los acentos de las cadenas.

    Descripción general del código

    El principio de la función Power Query es crear una lista bidimensional.

    1. Un primer nivel para listar las letras sin acentos para devolver.
    2. Todas las letras acentuadas para la misma letra.
    (MyText as text) =>
    let
        ListAccents = 
    		{
    		{"à","a"},
    		{"á","a"},
    		{"â","a"},
    		{"ã","a"},
    		{"ä","a"},
    		{"å","a"},
    		{"è","e"},
    		{"é","e"},
    ..........
    		{"ś","s"},
    		{"ż","z"},
    		{"ź","z"},
    		{"Ą","A"},
    		{"Ć","C"},
    		{"Ę","E"},
    		{"Ł","L"},
    		{"Ń","N"},
    		{"Ś","S"},
    		{"Ż","Z"},
    		{"Ź","Z"},
    		}
    in
        Text.Combine(List.ReplaceMatchingItems(Text.ToList(MyText), ListAccents))

    El resultado de la función recombinará la cadena inicial de la siguiente manera:

    • Texto.ToList que explotará el texto Mi texto en una secuencia de letras únicas en la memoria
    • Lista.ReplaceMatchingItems Reemplazará las letras presentes en la tabla de conversión.
    • Text.Combine reconstruirá la cadena original

    Descargar código

    Haga clic en el siguiente botón para descargar el código de función personalizado.

    Establecimiento

    1. Copia el código proporcionado en este artículo
    2. Luego entra en Datos > Obtener datos > De otras fuentes > Consulta vacía
    3. Pegue el código en la consulta vacía
    4. Dale el nombre fnEliminarAcentos
    Crea tu función personalizada en Power Query

    función de llamada

    Construya su consulta de manera normal y luego llame a la función

    1. Añadir una nueva columna
    2. Después Agregar una función personalizada
    3. Haga clic en el menú desplegable de Consulta de función y seleccione la consulta fnEliminarAcentos
    4. Por último, indique la columna que contiene los valores a limpiar.
    Llamar a una función personalizada para eliminar acentos

    Boletín informativo

    1 vez al mes:
    Consejos y cuestionarios

      No te enviaremos spam. Puedes darte de baja en cualquier momento.

      3 Comentarios

      1. Céline
        24/04/2024 a las 19:13

        ¡Guau! Es genial ! Muchas gracias, realmente puede ayudar, como crear direcciones de correo electrónico para una empresa con nombre.apellido@empresa.fr ¡Y quita los acentos!
        Gracias Frédéric por estos GRANDES CONSEJOS
        Céline

        Responder

      2. Laurent
        13/11/2020 a las 21:38

        En idea, es muy práctico pero imposible hacer que el código funcione.

        Corregí la lista de letras con acentos (consulte la versión VB para conocer las correspondencias correctas), eliminé la coma adicional al final de la lista. Pero Excel sigue generando un error cuyo mensaje es incomprensible y la ayuda solo sugiere reiniciar la aplicación.

        Es una lástima !

        Responder

        • Frédéric LE GUEN
          14/11/2020 a las 09:33

          Hola,
          Sí, dejé un error en el código (dsl). Puse la nueva versión en línea con un ejemplo de un libro de Excel.

          Responder

      Dejar un comentario

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

      Este sitio usa Akismet para reducir los no deseados. Obtenga más información sobre cómo se procesan sus datos de comentarios.