Si tuviera células que contengan, digamos,

  • Rojo 4
  • Azul 3
  • 2
  • 1

Y estoy tratando de sumar los valores, qué fórmula podría usar para derivar el total correcto, 10. El número siempre será menor que 10 y el carácter más a la derecha, si eso ayuda.

answer

Si siempre hay solo 1 dígito y siempre está al final:

=SUM(IFERROR(--RIGHT(A1:A4,1),0))

Algunas versiones anteriores requerirán el uso de Ctrl-Shift-Enter en lugar de Enter al confirmar la fórmula.

La derecha tira del carácter más a la derecha e --intenta convertirlo de una cadena a un número, si no puede convertirse en un número, se producirá un error y el IFERROR lo capturará y lo hará 0. Luego sumamos toda la matriz.

ingrese la descripción de la imagen aquí

Necesita una función VBA para sumar todos los números de un rango de celdas, incluso en el caso de que haya varios números en la misma celda.

La función puede verse así:

Function SumNumbers(rngS As Range, Optional strDelim As String = " ") As Double
    Dim xNums As Variant, lngNum As Long
    For Each elem In rngS
      xNums = Split(elem, strDelim)
      For lngNum = LBound(xNums) To UBound(xNums) Step 1
        SumNumbers = SumNumbers + Val(xNums(lngNum))
      Next lngNum
    Next elem
End Function

Y puede ser llamado por una fórmula como =SumNumbers(A5:B5):

ingrese la descripción de la imagen aquí

Para crear la función, guarde la hoja de cálculo como un .xlsmarchivo, escriba Alt+ F11para abrir el editor de VBA, haga clic con el botón derecho en "Este libro de trabajo" y seleccione Insertar> Módulo , y copie y pegue el texto anterior dentro del editor. Presione Ctrl+ Spara guardar la hoja de cálculo y luego Alt+ Qpara cerrar el editor de VBA y regresar a Excel.