Misión M10 · Excel · 15 min

Convierte números en texto a números reales

Pedido de tu gerente

Finanzas intentó sumar la exportación de enero y obtuvo un número demasiado bajo. Algunos valores de net_sales están guardados como texto, como '$5.03', y algunas cantidades dicen '3 units'. Arregla ambas columnas para que los totales sean confiables.

Datos

Descarga el/los archivo(s) de práctica:

Pasos

  1. En Excel ve a Datos > Desde el texto/CSV, elige sales_dirty.csv y haz clic en Transformar datos. En el Editor de Power Query elimina el paso 'Tipo cambiado' en Pasos aplicados para que todas las columnas queden como texto sin procesar y luego Inicio > Cerrar y cargar en una tabla llamada Dirty.
  2. Agrega una columna net_sales_num: =VALOR (VALUE)(SUSTITUIR (SUBSTITUTE)([@net_sales],"$","")). En Excel en español: =VALOR(SUSTITUIR([@net_sales],"$","")). SUSTITUIR quita el signo de dólar y VALOR convierte el texto en número.
  3. Agrega una columna qty_num: =VALOR(SUSTITUIR([@quantity]," units","")).
  4. Usa =SUMAPRODUCTO (SUMPRODUCT)(--ESTEXTO (ISTEXT)(Dirty[net_sales_num])) para confirmar que ya no queda ningún valor como texto (debe dar 0).
  5. Suma la columna limpia con =SUMA (SUM)(Dirty[net_sales_num]). Mantén las 627 filas; los duplicados se tratan en la misión 12.
  6. Revisa cuántos valores se convirtieron con =CONTAR (COUNT)(Dirty[net_sales_num]); debe dar 627.

Revisa tu respuesta

¿Cuál es el total de ventas netas de las 627 filas después de convertir los valores de texto a números?

Ver solución

29 valores de net_sales tenían un '$', y SUMA ignora cualquier valor guardado como texto; por eso el total de Finanzas salió bajo. Después de SUSTITUIR + VALOR el total completo es $5,212.36. El mismo truco arregla las 15 cantidades que dicen 'units'; la cantidad total queda en 1,201.

net_sales_num: =VALUE(SUBSTITUTE([@net_sales],"$",""))
qty_num:       =VALUE(SUBSTITUTE([@quantity]," units",""))
Text check:    =SUMPRODUCT(--ISTEXT(Dirty[net_sales_num]))
Total:         =SUM(Dirty[net_sales_num])

Respuesta: 5212.36 $