Funciones de texto: comparación de Excel y Power Query

Índice
  1. Usar funciones de texto de Power Query
    1. Interfaz de usuario
    2. Columna personalizada
    3. Barra de formulas
    4. editor avanzado
    5. Columna por ejemplos
  2. Funciones
    1. CHAR / UNICHAR
    2. LIMPIO
    3. CÓDIGO / UNICODE
    4. CONCAT / CONCATENAR
    5. ENCONTRAR
    6. IZQUIERDA
    7. LEN
    8. MÁS BAJO
    9. MEDIO
    10. ADECUADO
    11. REEMPLAZAR
    12. REPETIR
    13. BIEN
    14. BUSCAR
    15. SUSTITUTO
    16. TEXTO
    17. TEXTAFTER
    18. TEXTBEFORE
    19. TEXTJOIN
    20. TRIM
    21. SUPERIOR
  3. Conclusión

Para muchos usuarios de Excel, la transición a Power Query puede resultar difícil. Después de haber pasado años trabajando con las funciones de Excel, pasar a Power Query parece un entorno extraño.

La buena noticia es que muchas de las funciones de texto de Excel tienen funciones equivalentes en Power Query.

El propósito de esta publicación es proporcionar una referencia para buscar y aplicar las funciones de texto de Power Query equivalentes. No es una lista exhaustiva, pero incluye las funciones que probablemente utilizará un usuario.

Tabla de contenido
  • Usar funciones de texto de Power Query
    • Interfaz de usuario
    • Columna personalizada
    • Barra de formulas
    • editor avanzado
    • Columna por ejemplos
  • Funciones
    • CHAR / UNICHAR
    • LIMPIO
    • CÓDIGO / UNICODE
    • CONCAT / CONCATENAR
    • ENCONTRAR
    • IZQUIERDA
    • LEN
    • MÁS BAJO
    • MEDIO
    • ADECUADO
    • REEMPLAZAR
    • REPETIR
    • BIEN
    • BUSCAR
    • SUSTITUTO
    • TEXTO
    • TEXTO DESPUÉS
    • TEXTO ANTES
    • UNIR TEXTO
    • RECORTAR
    • SUPERIOR
  • Conclusión

Descargue la tabla comparativa: haga clic en el botón a continuación para unirse al programa Insiders y obtener acceso a la tabla comparativa de referencia rápida creada para esta publicación.

Nombre del archivo: 0183 Comparación de funciones de Excel v Power Query.pdf

Tener acceso

Usar funciones de texto de Power Query

Las funciones de texto de Power Query se pueden usar en varios lugares; entonces, comencemos nuestra exploración aquí.

Interfaz de usuario

Muchas funciones de texto, pero no todas, están disponibles como transformaciones individuales dentro de la interfaz de usuario. Podemos encontrarlos en las secciones Agregar columna desde texto y Transformar columnas de texto de la cinta.

Agregar columna desde texto

Agregar columna: funciones de texto

Transformar columnas de texto

Transformar - Funciones de texto

Las opciones en la interfaz de usuario son transformaciones individuales.

Para transformaciones más avanzadas que combinen funciones, podemos usar una columna personalizada, la barra de fórmulas o el editor avanzado.

Columna personalizada

Una columna personalizada nos permite agregar un cálculo para cada fila de la tabla.

En la cinta, haga clic en Agregar columna Columna personalizada para mostrar el cuadro de diálogo Columna personalizada .

Cuadro de diálogo de columna personalizada

El ejemplo anterior demuestra la función Text.Start (equivalente a la función IZQUIERDA de Excel) para extraer los primeros caracteres de un valor de texto.

Después de hacer clic en Aceptar , esto crea un valor para cada fila de la tabla.

Columna personalizada

Barra de formulas

La barra de fórmulas muestra el código M para cada paso de transformación. Para aplicar habilidades más avanzadas, usamos la barra de fórmulas para escribir fórmulas desde cero o editar fórmulas existentes.

Barra de formulas

El ejemplo anterior muestra la fórmula generada para la columna personalizada creada anteriormente.

editor avanzado

El editor avanzado muestra el código M para una consulta completa; esto incluye cada fórmula para cada transformación.

Para abrir el editor avanzado, haga clic en Ver editor avanzado .

Editor avanzado

La captura de pantalla anterior muestra el código de toda la consulta. El código resaltado es la función Text.Start utilizada en la sección de columna personalizada.

Columna por ejemplos

El último lugar donde podemos ver las funciones de texto de Power Query es usando Agregar columna de ejemplos .

Si bien no escribimos las fórmulas nosotros mismos, Power Query identifica patrones y proporciona una fórmula que logra el resultado requerido.

Columna de ejemplos

Como se muestra en la captura de pantalla, Power Query determinó que Text.Start es la fórmula para lograr el resultado que se muestra en la columna Primeros caracteres.

Con este método, es posible que no escribamos la fórmula nosotros mismos, pero comprender la estructura ayuda a garantizar que la sugerencia de Power Query sea correcta.

Funciones

Ahora es el momento de mirar las funciones. Se presentan a continuación en orden alfabético por nombre de función de Excel.

NOTA

Si bien muchas funciones de Excel y Power Query son equivalentes, es posible tener argumentos opcionales adicionales, que brindan más flexibilidad. Estos no se tratan en su totalidad en esta publicación.


CHAR / UNICHAR

Sobresalir Consulta de energía
Nombre: CHAR / UNICHAR Carácter.DeNúmero
Descripción: Devuelve el carácter especificado por el número de código. Convierte un número en un carácter de texto.
Sintaxis: CHAR(número)
UNICHAR(texto)
Carácter.DeNúmero(número)
Ejemplo: =CARACTER(65) =Carácter.DeNúmero(65)
Resultado: "A" "A"
  • CHAR incluye números de caracteres del 1 al 255; cualquier código de caracteres mayor que 255 requiere la función UNICHAR.

LIMPIO

Sobresalir Consulta de energía
Nombre: LIMPIO Texto.limpio
Descripción: Devuelve un valor de texto con todos los caracteres de control eliminados. Elimina todos los caracteres no imprimibles del texto.
Sintaxis: LIMPIAR(texto) Texto.Clean(texto)
Ejemplo: =LIMPIAR(“
Texto de ejemplo”)
=Texto.Clean(“
Texto de ejemplo”)
Resultado: “Texto de ejemplo” “Texto de ejemplo”

CÓDIGO / UNICODE

Sobresalir Consulta de energía
Nombre: CÓDIGO / UNICODE Carácter.ParaNúmero
Descripción: Devuelve un código numérico para el primer carácter de una cadena de texto. Convierte un carácter en un valor numérico.
Sintaxis: CÓDIGO(texto)
UNICODE(texto)
Carácter.ToNumber(texto)
Ejemplo: =CÓDIGO(“A”) =Carácter.ParaNúmero(“A”)
Resultado: sesenta y cinco sesenta y cinco
  • CÓDIGO incluye los caracteres ASCII estándar del número 1 al 255; cualquier código de carácter mayor que 255 requiere la función UNICODE.

CONCAT / CONCATENAR

Sobresalir Consulta de energía
Nombre: CONCAT Combinar texto
Descripción: Combina texto de múltiples rangos y/o cadenas. Devuelve un valor de texto que es el resultado de unir todos los valores de texto.
Sintaxis: CONCAT(texto1, [texto2],…)
CONCATENAR(texto1, [texto2],…)
Text.Combine(textos, [separador])
Ejemplo: =CONCAT(“Ejemplo”, ” “, “texto”) =Text.Combine({“Ejemplo”, ” “, “texto”})
Resultado: “Texto de ejemplo” “Texto de ejemplo”
  • Si se requiere un separador entre cada palabra, mire la función TEXTJOIN .
  • ElEl carácter es una alternativa al uso de una función. combina cadenas de texto tanto en Excel como en Power Query.
  • CONCAT (introducido en Excel 2019) es un reemplazo más flexible de la función CONCATENAR. CONCATENATE todavía existe por compatibilidad con versiones anteriores.

ENCONTRAR

Sobresalir Consulta de energía
Nombre: ENCONTRAR Texto.PosiciónDe
Descripción: Encuentra la posición inicial de un valor de texto dentro de otro (distingue entre mayúsculas y minúsculas) Devuelve la aparición de una subcadena en una cadena y devuelve su posición.
Sintaxis: ENCONTRAR(buscar_texto, dentro_texto, [núm_inicio]) Text.PositionOf(texto, subcadena, [ocurrencia], [comparador])
Ejemplo: =ENCONTRAR(“mp”, “
Texto de ejemplo”)
=Texto.PositionOf(“Texto de ejemplo”, “mp”)
Resultado: 4 3
  • ENCONTRAR no distingue entre mayúsculas y minúsculas. Para obtener una versión que no distinga entre mayúsculas y minúsculas, consulte la función BÚSQUEDA .
  • Power Query devuelve la posición de base cero; por lo tanto, los resultados entre Excel y Power Query parecen diferentes.
  • El argumento [ocurrencia] de Power Query tiene base cero. Entonces, para encontrar la segunda instancia, la [ocurrencia] será 1.
  • Power Query tiene una función adicional, Text.PositionOfAny , que permite utilizar una lista de caracteres como base de la búsqueda.

IZQUIERDA

Sobresalir Consulta de energía
Nombre: IZQUIERDA Texto.Inicio
Descripción: Devuelve los caracteres más a la izquierda de un valor de texto. Devuelve el recuento de caracteres desde el inicio de un valor de texto.
Sintaxis: IZQUIERDA(texto, [núm_caracteres]) Texto.Inicio(texto, recuento)
Ejemplo: =IZQUIERDA(“Texto de ejemplo”, 7) =Texto.Inicio(“Texto de ejemplo”, 7)
Resultado: "Ejemplo" "Ejemplo"

Notas:

  • El argumento [num_chars] es opcional. Si se excluye, solo se devuelve 1 carácter.
  • Power Query también tiene la función Text.StartsWith , que devuelve Verdadero/Falso cuando el texto comienza con una cadena especificada.
    Sintaxis: Text.StartsWith(texto,subcadena,[comparador])
    Ejemplo: Text.StartsWith(“Texto de ejemplo”,”Ejemplo”)
    Resultado: Verdadero

LEN

Sobresalir Consulta de energía
Nombre: LEN Texto.Longitud
Descripción: Devuelve el número de caracteres de una cadena de texto. Devuelve el número de caracteres de un valor de texto.
Sintaxis: LEN(texto) Texto.Longitud(texto)
Ejemplo: =LEN(“Texto de ejemplo”) =Texto.Longitud(“Texto de ejemplo”)
Resultado: 12 12

MÁS BAJO

Sobresalir Consulta de energía
Nombre: MÁS BAJO Texto.Inferior
Descripción: Convierte texto a minúsculas. Devuelve las minúsculas de un valor de texto.
Sintaxis: INFERIOR(texto) Texto.Inferior(texto, [cultura])
Ejemplo: =BAJO(“Texto de ejemplo”) =Texto.Inferior(“Texto de ejemplo”)
Resultado: “texto de ejemplo” “texto de ejemplo”

Notas:

  • El argumento opcional [cultura] dentro de Text.Lower no se trata en esta publicación.

MEDIO

Sobresalir Consulta de energía
Nombre: MEDIO Texto.Medio
Descripción: Devuelve un número específico de caracteres de una cadena de texto que comienza en una posición especificada. Devuelve una subcadena hasta una longitud específica.
Sintaxis: MID(texto, núm_inicio, núm_caracteres) Text.Middle(texto, inicio, recuento)
Ejemplo: =MEDIO(“Texto de ejemplo”, 4, 2) =Texto.Middle(“Texto de ejemplo”, 3, 2)
Resultado: “mp” “mp”

Nota:

  • El argumento inicial de Text.Middle tiene base cero. Por lo tanto, 0 para el argumento de inicio en Text.Middle es equivalente a 1 para el argumento start_num en MID.
  • En Power Query, Text.Range es una alternativa a Text.Middle. La diferencia es que Text.Range devuelve un error cuando no hay caracteres suficientes para devolver un valor.
  • Si solo necesitamos un carácter, una alternativa de Power Query es Text.At:
    Sintaxis: Text.At(text,index)

ADECUADO

Sobresalir Consulta de energía
Nombre: ADECUADO Texto.adecuado
Descripción: Pone en mayúscula la primera letra de cada palabra de un valor de texto. Pone en mayúscula la primera letra de cada palabra de un valor de texto.
Sintaxis: APROPIADO(texto) Texto.Proper(texto, [cultura])
Ejemplo: =PROPER(“Texto de ejemplo”) =Texto.Proper(“Texto de ejemplo”)
Resultado: “Texto de ejemplo” “Texto de ejemplo”

Notas:

  • El argumento opcional [cultura] dentro de Text.Proper no se trata en esta publicación.

REEMPLAZAR

Sobresalir Consulta de energía
Nombre: REEMPLAZAR Texto.Reemplazar
Descripción: Reemplaza caracteres dentro del texto. Reemplaza los caracteres de longitud en un valor de texto comenzando en un desplazamiento de base cero con el nuevo valor de texto.
Sintaxis: REEMPLAZAR (texto_antiguo, núm_inicio, núm_caracteres, texto_nuevo) Text.ReplaceRange(texto, desplazamiento, recuento, nuevoTexto)
Ejemplo: =REPLACE(“Texto de ejemplo”, 5, 3, “inación”) =Text.ReplaceRange(“Texto de ejemplo”, 4, 3, “inación”)
Resultado: “Texto de examen” “Texto de examen”

Notas:

  • El argumento de compensación en Text.Replace de Power Query tiene base cero.
  • Para eliminar texto, en lugar de reemplazarlo, también podemos usar Text.RemoveRange en Power Query.
    Sintaxis: Text.RemoveRange(texto, desplazamiento, recuento)

REPETIR

Sobresalir Consulta de energía
Nombre: REPETIR Texto.Repetir
Descripción: Repite el texto un número determinado de veces. Devuelve un valor de texto compuesto por el valor de texto de entrada repetido varias veces.
Sintaxis: REPT(texto, número_veces) Texto.Repetir(texto, contar)
Ejemplo: =REPETIR(“Ejemplo”, 3) =Texto.Repetir(“Ejemplo”, 3)
Resultado: “EjemploEjemploEjemplo” “EjemploEjemploEjemplo”

BIEN

Sobresalir Consulta de energía
Nombre: BIEN Texto.Fin
Descripción: Devuelve los caracteres situados más a la derecha de un valor de texto. Devuelve el recuento de caracteres desde el final de un valor de texto.
Sintaxis: DERECHA(texto, [núm_caracteres]) Texto.End(texto, recuento)
Ejemplo: =DERECHA(“Texto de ejemplo”, 4) =Texto.End(“Texto de ejemplo”, 4)
Resultado: "texto" "texto"

Notas:

  • El argumento [num_chars] es opcional. Si se excluye, solo se devuelve 1 carácter.
  • Power Query también tiene la función Text.EndsWith , que devuelve Verdadero/Falso cuando el texto termina con una cadena especificada.
    Sintaxis: Text.EndsWith(texto,subcadena,[comparador])
    Ejemplo: Text.EndsWith(“Texto de ejemplo”,”Texto”)
    Resultado: Verdadero

BUSCAR

Sobresalir Consulta de energía
Nombre: BUSCAR Texto.PosiciónDe
Descripción: Encuentra la posición inicial de un valor de texto dentro de otro (no distingue entre mayúsculas y minúsculas) Devuelve la aparición de una subcadena en una cadena y devuelve su posición.
Sintaxis: BÚSQUEDA(buscar_texto, dentro_texto, [núm_inicial]) Text.PositionOf(texto, subcadena, [ocurrencia], [comparador])
Ejemplo: =BUSCAR(“mp”, “
Texto de ejemplo”)
=Texto.PositionOf(“Texto de ejemplo”, “mp”, 0, Comparer.OrdinalIgnoreCase)
Resultado: 4 3
  • BÚSQUEDA no distingue entre mayúsculas y minúsculas. Para una versión que distingue entre mayúsculas y minúsculas, consulte la función ENCONTRAR .
  • Mire la función ENCONTRAR para obtener notas de uso adicionales.

SUSTITUTO

Sobresalir Consulta de energía
Nombre: SUSTITUTO Texto.Reemplazar
Descripción: Sustituye texto nuevo por texto antiguo en una cadena de texto. Reemplaza todas las apariciones de una subcadena con un nuevo valor de texto.
Sintaxis: SUSTITUIR(texto, texto_antiguo, texto_nuevo, [núm_instancia]) Texto.Reemplazar(texto, antiguo, nuevo)
Ejemplo: =SUSTITUIR(“Texto de ejemplo”, “Ejemplo”, “Nuevo”) =Texto.Reemplazar(“Texto de ejemplo”, “Ejemplo”, “Nuevo”)
Resultado: "Nuevo texto" "Nuevo texto"

Notas:

  • SUSTITUIR tiene un argumento opcional [núm_instancia] que no está disponible en Power Query.

TEXTO

Sobresalir Consulta de energía
Nombre: TEXTO
Descripción: Formatea un número y lo convierte en texto.
Sintaxis: =TEXTO(valor, formato_texto)
Ejemplo: =TEXTO(50, “0000”)
Resultado: 0050

Notas:

  • No existe un equivalente directo a la función TEXTO en Power Query. Sin embargo, combinar muchas funciones de texto juntas puede crear un efecto similar. Mire las siguientes funciones para ver las opciones:
    • Text.From : devuelve la representación de texto de un número, fecha, hora, fechahora, fechahorazona, valor lógico, de duración o binario.
    • Text.Format : devuelve texto formateado que se crea aplicando argumentos de una lista o registro a una cadena de formato.
    • Text.PadStart – Returns a text value padded at the beginning to make it at least a specified length of characters.
    • Text.PadEnd – Returns a text value padded at the end to make it at least a specified length of characters.

TEXTAFTER

Excel Power Query
Name: TEXTAFTER Text.AfterDelimiter
Description: Returns text that occurs after given character or string Returns the portion of text after the specified delimiter.
Syntax: TEXTAFTER(text, delimiter, [instance_num], [match_mode], [match_end], [if_not_found]) Text.AfterDelimiter(text, delimiter, [index])
Example: =TEXTAFTER(“Example text”,” “) =Text.AfterDelimiter(“Example text”, ” “)
Result: “text” “text”

Notes:

  • Power Query uses a zero-base. Therefore, [index] of 0 is equivalent to [instance_num] of 1.
  • Both functions provide optional arguments to start at the end of the string.
  • [match_mode] determines whether the delimiter search is case sensitive. (0 = Case sensitive, 1 = Case insensitive). Power Query is case sensitive.
  • [match_end] treats the end of the text as a delimiter. Power Query does not have an equivalent argument.
  • [if_not_found] is the value to return if no matching delimiter is found. Power Query does not have an equivalent argument.
  • Power Query has the Text.BetweenDelimiters function to provide the text between two delimiters. In Excel, this can be created through a combination of TEXTAFTER and TEXTBEFORE.

TEXTBEFORE

Excel Power Query
Name: TEXTBEFORE Text.BeforeDelimiter
Description: Returns text that occurs before given character or string Returns the portion of text before the specified delimiter.
Syntax: TEXTBEFORE(text,delimiter,[instance_num], [match_mode], [match_end], [if_not_found]) Text.BeforeDelimiter(text, delimiter [index])
Example: =TEXTBEFORE(“Example text”,” “) =Text.BeforeDelimiter(“Example text”, ” “)
Result: “Example” “Example”

Notes:

  • See TEXTAFTER for similar examples and usage notes.

TEXTJOIN

Excel Power Query
Name: TEXTJOIN Text.Combine
Description: Combines the text from multiple ranges and/or strings. Returns a text value that is the result of joining all text values with each value separated by a separator.
Syntax: TEXTJOIN(delimiter, ignore_empty, text1, [text2]…) Text.Combine(texts, [separator])
Example: =TEXTJOIN(“,”, FALSE, “Example”, “text”) =Text.Combine({“Example”, “text”}, “,”)
Result: “Example,text” “Example,text”
  • The CONCAT function combines text without using a separator.

TRIM

Excel Power Query
Name: TRIM Text.Trim
Description: Removes spaces from text. Returns the result of removing all leading and trailing whitespace from text value.
Syntax: TRIM(text) Text.Trim(text, [trim])
Example: =TRIM(” Example text “) =Text.Trim(” Example text “)
Result: “Example Text” “Example text”
  • The Power Query version of Trim does not remove white space from the middle of text values. Check out this post to replicate Excel’s TRIM function in Power Query.
  • Text.Trim incluye un argumento [trim] opcional para permitir el recorte de otros caracteres.
    Por ejemplo, para recortar guiones utilice “-” como argumento [recortar].
    Ejemplo: Text.Trim( “—Texto de ejemplo—“, “-” )
    Resultado: “Texto de ejemplo”
  • Power Query tiene funciones de recorte adicionales:
    • Text.TrimEnd : devuelve el resultado de eliminar todos los espacios en blanco finales del valor del texto.
      Sintaxis: Text.TrimEnd (texto, [recortar])
    • Text.TrimStart : devuelve el resultado de eliminar todos los espacios en blanco iniciales del valor del texto.
      Sintaxis: Text.TrimStart (texto, [trim])

SUPERIOR

Sobresalir Consulta de energía
Nombre: SUPERIOR Texto.superior
Descripción: Convierte texto a mayúsculas. Devuelve la mayúscula de un valor de texto.
Sintaxis: SUPERIOR(texto) Texto.Upper(texto, [cultura])
Ejemplo: =SUPERIOR(“Texto de ejemplo”) =Texto.Upper(“Texto de ejemplo”)
Resultado: “TEXTO DE EJEMPLO” “TEXTO DE EJEMPLO”

Notas:

  • El argumento opcional [cultura] dentro de Text.Upper no se trata en esta publicación.

Conclusión

Para la mayoría de las funciones de texto de Excel, existe una función de texto de Power Query equivalente.

Sin embargo, existen diferencias importantes a tener en cuenta:

  • Muchos argumentos y resultados de Power Query tienen base cero.
  • Una función puede tener argumentos adicionales que no están disponibles en la función equivalente.
  • El orden de los argumentos puede diferir entre
  • Power Query, de forma predeterminada, distingue entre mayúsculas y minúsculas, mientras que Excel no distingue entre mayúsculas y minúsculas.

¿Quiere saber más sobre las funciones de texto de Power Query? Mira esta publicación en Gorilla.bi

Artículos Relacionados:

  • Cómo utilizar las funciones personalizadas de Power Query
  • Declaración If de Power Query: condiciones anidadas ifs múltiples
  • Fórmulas de Power Query (cómo usarlas y errores que se deben evitar)

Deja una respuesta

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

Subir

Este sitio web utiliza cookies para mejorar la experiencia del usuario y garantizar un funcionamiento eficiente. Al utilizar nuestro sitio web, aceptas todas las cookies de acuerdo con nuestra política de cookies. Leer mas...