CONTAR numeros que conforman una suma

Tengo en una celda A1 la sig. Suma de esta manera:

+10+15+20+50+50+40+60

El resultado en A1 es: 245

ok hasta aqui todo bien...

Lo que necesito si se puede sin utilizar mas celdas... Mas que una adicional

Es que me cuente cuantos numeros conformaron esa suma nose si me explico

Algo asi:

+10    +15    +20    +50    +50    +40    +60 (Estos son los numeros conforman la suma)

   1         2        3       4         5        6        7   ( 7 es el total de numeros que conformaron esta suma)

Osea:

En A1 esta la suma de la manera que describi y en A2 esta el numero que conforman la suma

Obviamente siempre sumando de la manera que sumo.

+10+5+5+5+4+45+4+4+4

y no asi    =A12+A15+A1

1 respuesta

Respuesta
1

Tendría que ser con una macro.

Cualquier fórmula de excel trabaja con el resultado de la celda.

Si tu tienes en la celda esto:

+10+15+20+50+50+40+60

El resultado es 245, cualquier otra fórmula que trabaje sobre la celda A1 lo hará sobre el valor 245.

Pero lo que tu quieres es trabajar con los datos de la fórmula.


Te anexo una función:

Function sumandos(celda As Range)
'Por.Dante Amor
    If celda.HasFormula Then
        n = Split(celda.Formula, "+")
        If UBound(n) > 0 Then
            sumandos = UBound(n)
        End If
    End If
End Function

Sigue las Instrucciones para una Función

  1. Abre tu libro de excel
  2. Para abrir VBa y poder pegar la función, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la función
  5. En cualquier celda utiliza la función, como cualquier otra función de excel

En la celda A2 pon la función:

=sumandos(A1)

Poniendo la función SUMANDOS

¿En otra celda igual lo agarra?

Sí, puedes poner en la celda E5 =sumandos(D5) y si en la celda D5 tienes 4+5, el resultado en E5 será 2

Dan no agarra la función.

Mira en la celda G9 tengo esto:

=5+5+5

Y en donde tengo la función es en la celda

G18 me arroja esto

=sumandos(G9) 

Resultado: 2

Y son tres números que tengo.

Tienes razón, tiene que ser así:

Function sumandos(celda As Range)
'Por.Dante Amor
    If celda.HasFormula Then
        n = Split(celda.Formula, "+")
        If UBound(n) > 0 Then
            sumandos = UBound(n) + 1
        End If
    End If
End Function

Te explico, cuando utilizas la función split, almacena en la variable los elementos que se dividieron, en este caso almacena 5, 5, 5

Los datos son almacenados en un arreglo, y el arreglo empieza en 0, entonces tenemos

n(0) = 5

n(1) = 5

n(2) = 5

Y yo estaba poniendo el resultado 2, pero realmente hay que contar desde 0, entonces 0,1,2 = 3 datos.

Por eso estoy sumando un 1 para considerar el dato que se almacena en 0.


Sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas