🚀The world's best VBA AI has evolved. ExcelMaster is now an autonomous Agent.Read more →
Back to Blog

Función TEXTO de Excel — Da formato a un número como texto (y la trampa que impide sumarlo)

|

Función TEXTO de Excel — Da formato a un número como texto (y la trampa que impide sumarlo)

ResumenTEXT toma un número (o una fecha, que es un número) y un código de formato, y devuelve una cadena de texto con ese formato. Sintaxis: =TEXT(value, format_text). =TEXT(1234.5, "$#,##0.00") devuelve la cadena "$1,234.50"; =TEXT(TODAY(), "yyyy-mm-dd") devuelve "2026-07-02". El código de formato es el mismo lenguaje que un formato de celda personalizado — pero con una diferencia enorme: un formato de celda solo cambia cómo se ve un número mientras este sigue siendo un número, mientras que TEXT incrusta el formato dentro de una cadena real. Esa cadena queda preciosa dentro de una frase e inútil dentro de una SUM. Recurre a TEXT cuando un número tenga que pasar a formar parte de un texto; nunca lo uses sobre datos con los que todavía necesites calcular.

Nota — En un Excel en español estas funciones aparecen con nombre traducido: TEXT → TEXTO, CONCAT → CONCAT, TEXTJOIN → UNIRCADENAS, ROUND → REDONDEAR, TODAY → HOY, SUM → SUMA, VALUE → VALOR, NUMBERVALUE → VALORNUMERO, DATEVALUE → FECHANUMERO. Los ejemplos de fórmula usan los nombres en inglés (tal cual se escriben en la barra de fórmulas de un Excel en inglés). Además, la interfaz en español muestra el error #VALUE! como #¡VALOR!.

="Invoice total: " & TEXT(A1, "$#,##0.00")   ' -> "Invoice total: $1,234.50"
=TEXT(A2, "0.0%")                             ' 0.734 -> "73.4%"
=TEXT(B1, "00000")                            ' 42 -> "00042"  (ceros a la izquierda)

Casi todo el mundo conoce TEXT por el mismo motivo: pegaron un número junto a unas palabras con &, y el número salió crudo y feo — Total: 1234.5 en vez de Total: $1,234.50. TEXT es la solución. Pero también es la función a la que la gente recurre cuando lo correcto habría sido un formato de celda, y luego se preguntan por qué su columna de "números" no suma. Esta guía te da el único modelo mental, la trampa que se deriva de él y suficiente lenguaje de códigos de formato para desenvolverte.

Lo que vas a aprender

  • El modelo mental: TEXT incrusta un formato dentro de una cadena; un formato de celda no
  • Por qué la concatenación lo necesita — & tira el formato a la basura
  • La trampa nº1: el resultado de TEXT es texto, así que SUM lo ignora en silencio
  • El curso exprés de códigos de formato: 0 vs #, miles, % y códigos de fecha
  • Ceros a la izquierda, y el problema de configuración regional con nombres de mes y separadores
  • El criterio: TEXT vs un formato de número de celda vs CONCAT/ROUND

El modelo mental: dar formato en dos lugares muy distintos

Un número en Excel tiene un valor y una visualización. Escribe 1234.5, aplica el formato Moneda, y la celda muestra $1,234.50 mientras el valor almacenado sigue siendo 1234.5 — puedes sumarlo, promediarlo, graficarlo. El formato es una máscara sobre un número que nunca deja de ser un número.

TEXT hace algo distinto. Lee el valor, le aplica un código de formato y te devuelve el resultado como texto — la máscara y el número fundidos en una cadena:

' la celda A1 contiene 1234.5
A1 con formato Moneda     -> se ve como $1,234.50, el VALOR sigue siendo 1234.5 (un número)
=TEXT(A1, "$#,##0.00")    -> la cadena "$1,234.50" (texto; sin número por debajo)

Quédate con esta imagen: un formato de celda cambia el disfraz; TEXT convierte al actor en una silueta de cartón. Todo lo que sigue se deriva de ahí.

Por qué la concatenación necesita TEXTO

La razón por la que TEXT existe en el trabajo diario es que el operador & (y CONCAT, y TEXTJOIN) elimina el formato del número. Unir texto a un número te da el valor crudo del número, no lo que la celda estaba mostrando:

="Total: " & A1                        ' -> "Total: 1234.5"     (crudo, feo)
="Total: " & TEXT(A1, "$#,##0.00")     ' -> "Total: $1,234.50"  (con formato)
="Due " & TEXT(B1, "mmmm d")           ' -> "Due July 2"        (B1 es una fecha)

Este es el uso legítimo más habitual de TEXT: estás construyendo una frase, una etiqueta, un nombre de archivo o un título de gráfico, y necesitas que el número se vea como se ve en su celda. & no puede transportar el formato, así que lo transportas tú mismo con TEXT. Consulta CONCAT y TEXTJOIN para la parte de unión de este patrón.

La trampa que muerde primero: el resultado no hará cálculos

Como TEXT devuelve una cadena, el resultado ya no es un número — y Excel no suma texto. Esta es la sorpresa clásica del "mi fórmula devuelve 0":

' D2:D10 son todas =TEXT(C2, "0.00")   -> parecen números
=SUM(D2:D10)                          ' -> 0   (SUM ignora el texto)

La regla que se deriva es contundente: nunca envuelvas una columna en TEXT si todavía necesitas calcular con ella. Si quieres que los números se muestren con dos decimales y un símbolo de moneda, ese es trabajo del formato de número de la celda, que deja los valores numéricos. Usa TEXT solo en el último paso, cuando el número va camino de convertirse en una cadena y sus días de cálculo han terminado. Si ya tienes números-texto y los necesitas de vuelta, esa es la función inversa — VALOR.

El curso exprés de códigos de formato

El argumento format_text es el mismo mini-lenguaje que Formato de celdas → Personalizada. Solo necesitas un puñado de tokens:

Token Significa Ejemplo → resultado
0 dígito, muestra el cero TEXT(5, "000")"005"
# dígito, oculta el cero a la izquierda/derecha TEXT(5, "#.##")"5"
, separador de miles TEXT(12000, "#,##0")"12,000"
. punto decimal TEXT(3.1, "0.00")"3.10"
% porcentaje (×100 + signo) TEXT(0.25, "0%")"25%"
$ símbolo de moneda literal TEXT(9, "$0.00")"$9.00"

La distinción que hay que interiorizar es 0 fuerza un dígito, # es opcional. Usa 0 donde quieras relleno o un decimal garantizado (dinero: 0.00), y # donde quieras el dígito solo si es significativo (#,##0.## muestra dos decimales solo cuando existen).

Fechas: la mitad más buscada de TEXTO

Las fechas son números, así que TEXT también les da formato — y esto es lo que la mayoría de la gente busca en realidad. Los códigos de fecha:

=TEXT(A1, "yyyy-mm-dd")            ' -> "2026-07-02"   (ISO, se ordena bien como texto)
=TEXT(A1, "dddd, mmmm d, yyyy")    ' -> "Thursday, July 2, 2026"
=TEXT(A1, "mmm-yy")               ' -> "Jul-26"
=TEXT(A1, "h:mm AM/PM")           ' -> "2:30 PM"
  • m son minutos o meses según su posición — mm después de h son minutos, mm por sí solo son meses. mmm = Jul, mmmm = July, mmmmm = J.
  • d/dd = número de día, ddd = Thu, dddd = Thursday.
  • Construir una cadena de fecha ISO (yyyy-mm-dd) es la forma fiable de crear fechas que se ordenen correctamente como texto — práctico para nombres de archivo y claves.

Ceros a la izquierda y el problema de configuración regional

Dos cosas que hacen tropezar a la gente:

  • Ceros a la izquierda. Los ID, códigos postales y números de pieza que deben conservar sus ceros son trabajo de TEXT: =TEXT(42, "00000")"00042". (Mejor aún, guarda esos códigos como texto desde el principio — pero TEXT los rescata cuando se han guardado como números.)
  • Configuración regional. Los nombres de mes y de día siguen el idioma del libro/sistema, así que "mmmm" da July en un sistema en inglés y Juli en uno en alemán. Los separadores también pueden cambiar. Si necesitas un idioma concreto sin importar la máquina del lector, antepón al código una etiqueta de configuración regional, p. ej. =TEXT(A1, "[$-en-US]mmmm d") fuerza los nombres de mes en inglés.

El criterio: TEXTO frente a las alternativas

La opinión firme: la mayoría de las veces quieres un formato de celda, no TEXT. Pregúntate qué buscas de verdad:

  • Quieres que el número se vea bien en su celda (moneda, %, miles) y seguir calculando → aplica un formato de número. Nunca TEXT. Este es el error que rompe los totales.
  • Estás metiendo el número dentro de una cadena — una frase, etiqueta, nombre de archivo, título de gráfico → este es el trabajo real de TEXT. Úsalo, y solo aquí.
  • Quieres reducir un valor a menos decimales para hacer cálculos de verdad (de modo que el número almacenado cambie) → eso es REDONDEAR, no TEXT. Dar formato no es redondear, y TEXT tampoco lo es — cambia la visualización, no el valor que entrega al siguiente cálculo.
  • Necesitas revertirlo — texto de vuelta a un número o fecha reales → VALOR / VALORNUMERO o FECHANUMERO.

TEXT no es un formateador para tu hoja de cálculo — es un formateador para cadenas. Úsalo exactamente cuando un número tenga que dejar de ser un número y pasar a formar parte de un texto, y nunca como atajo para que una celda quede bonita.

Cómo ayuda ExcelMaster

El lenguaje de códigos de formato de TEXT es de esas cosas que reaprendes cada pocos meses — ¿era mmm o mon, 0.00 o #.##, y por qué se rompió el total? ExcelMaster trabaja a partir de lo que describes — "pon el total en esta frase como moneda", "muestra el mes como una abreviatura de tres letras", "rellena estos ID hasta cinco dígitos" — y escribe el código de formato exacto, mientras mantiene los datos subyacentes numéricos allí donde todavía necesites calcular. Obtienes la cadena que imaginaste sin descubrir tres pestañas más tarde que SUM ahora devuelve cero.

Preguntas frecuentes

¿Por qué SUMA ignora mis celdas con TEXTO / devuelve 0?

Porque TEXT devuelve texto, no un número, y SUM se salta el texto. Si envolviste una columna en =TEXT(...) y ahora los totales salen 0, diste formato cuando deberías haber aplicado un formato de número de celda (que mantiene los valores numéricos). Usa TEXT solo para números que van a pasar a formar parte de una cadena.

¿Cómo doy formato de texto a una fecha en Excel?

=TEXT(fecha, "código de formato"). Códigos habituales: "yyyy-mm-dd"2026-07-02, "mmmm d, yyyy"July 2, 2026, "mmm-yy"Jul-26. Recuerda que mm significa meses junto a y/d, pero minutos junto a h.

¿Cómo conservo los ceros a la izquierda con TEXTO?

Usa tokens 0 para el ancho que necesites: =TEXT(42, "00000")"00042". Es ideal para códigos postales e ID — aunque guardarlos como texto desde el principio evita el problema por completo.

¿Cuál es la diferencia entre TEXTO y un formato de número de celda?

Un formato de número de celda cambia solo cómo se ve un número; el valor sigue siendo numérico y sigue calculando. TEXT convierte el número en una cadena real con el formato incrustado — genial para concatenar, fatal para SUM.

¿Cómo vuelvo a convertir el resultado de TEXTO en un número?

Usa VALOR (o NUMBERVALUE para controlar la configuración regional) para números, y FECHANUMERO para fechas. O, más rápido para un arreglo puntual, multiplica el texto por 1 (=A1*1).

Probado en

Probado en: Excel 365 (Windows 11) — última verificación 2026-07-02.

Guías relacionadas: Excel VALOR y VALORNUMERO · Excel FECHANUMERO y HORANUMERO · Excel CONCAT · Excel UNIRCADENAS · Excel REDONDEAR