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.

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.
- Un primer nivel para listar las letras sin acentos para devolver.
- 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
- Copia el código proporcionado en este artículo
- Luego entra en Datos > Obtener datos > De otras fuentes > Consulta vacía
- Pegue el código en la consulta vacía
- Dale el nombre fnEliminarAcentos

función de llamada
Construya su consulta de manera normal y luego llame a la función
- Añadir una nueva columna
- Después Agregar una función personalizada
- Haga clic en el menú desplegable de Consulta de función y seleccione la consulta fnEliminarAcentos
- Por último, indique la columna que contiene los valores a limpiar.

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
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 !
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.