2 votos

¿Cómo sumar una columna con celdas que contienen texto?

Tengo una columna que contiene valores de tamaño de datos, con números y texto variable. Algunos tienen valores como "3,54 TB" y otros como "620 GB". En última instancia, quiero obtener el tamaño total de los datos de una columna determinada. Por ejemplo, 3,54 TB + 620 GB = 4,16 TB.

Si pudiera enviar la suma de las celdas que contienen "TB" a una celda, sumar las celdas que contienen "GB" a otra celda - dividir esta celda GB por 1000, puedo sumar fácilmente esas dos celdas.

¿Existen fórmulas para sumar una columna de celdas que contienen texto? No quiero descargar un plug-in.

Alguien preguntó esto aquí: ¿Cómo puedo sumar una columna con celdas que contienen texto?

Y salvo proporcionó la fórmula de abajo, pero me devuelve un error de "muy pocos argumentos" cuando la uso...

=SUM(NUMBERVALUE(MID(A1:A6000,SEARCH("p",A1:A6000)-1)))

¿Alguien puede ayudar?

1voto

Scott Craner Puntos 327

Usa esto que itera las celdas y prueba el final convirtiéndolo todo en TB y sumándolas:

=SUMPRODUCT(LEFT(A1:A2,FIND(" ",A1:A2&" ")-1)/1000^(MATCH(RIGHT(A1:A2,2),{"TB","GB","MB","KB"},0)-1)) & " TB"

Al iterar LEFT(A1:A2,FIND(" ",A1:A2&" ")-1) devuelve la parte numérica.

MATCH(RIGHT(A1:A2,2),{"TB","GB","MB","KB"},0)-1 devuelve 0,1,2,3 en función del lugar en el que se encuentre la parte de texto en la matriz {"TB","GB","MB","KB"}

1000^ devuelve 1,1000,1000000,100000000000 en función del retorno del MATCH.

enter image description here

0 votos

Buen uso de las fórmulas de matriz, tanto para la entrada de sumproducto, como para la tabla de búsqueda de las unidades.

0voto

BillOer Puntos 401

Seguro que hay otras soluciones para esto, pero esto funciona: =IF(RIGHT(A2,2)="TB",LEFT(A2,SEARCH(" ",A2,1))*1024^4,IF(RIGHT(A2,2)="GB",LEFT(A2,SEARCH(" ",A2,1))*1024^3)) Si también tienes "MB" y "KB" en tu columna, tendrás que añadir las sentencias IF adecuadas para tenerlas en cuenta. Una vez que haya sumado su columna, puede dividirla por 1024^x para volver a las unidades que desee, (es decir, 1024^4 para TB, 1024^3 para GB, etc.)

0voto

Nick Russo Puntos 791

No creo que haya una fórmula sencilla para esto. Requiere unos cuantos pasos:

  1. Separar las unidades numéricas de las textuales
  2. Convertir las unidades en multiplicadores
  3. Combina cada número con su multiplicador
  4. Suma los resultados
  5. Elija una unidad apropiada para usar

Los números 2 y 5 son los más complicados, ya que requieren el conocimiento de las unidades. En mi ejemplo de abajo, manejo KB, MB, GB y TB, y asumo que significan multiplicadores de base-10 (dejando que KiB, etc. signifiquen base-2). Pero también puedes querer B, b, kb, KB, PB, EB, etc. y para cada unidad que quieras manejar, necesitas un IF() extra para convertirlo en un multiplicador.

Excel table with input values converted into bytes and summed, with formulas for each column shown on the right

0voto

Rajesh S Puntos 11

enter image description here

Escribe esta fórmula en la celda C2 y rellénala:

=IF(RIGHT(A2,2)="TB",SUM(IF(ISNUMBER(FIND(RIGHT(A2,2),$A$2:$A$3)),VALUE(LEFT($A$2:$A$3,FIND(RIGHT(A2,2),$A$2:$A$3)-1)),0)),IF(RIGHT(A2,2)="GB",SUM(IF(ISNUMBER(FIND(RIGHT(A2,2),$A$2:$A$3)),VALUE(LEFT($A$2:$A$3,FIND(RIGHT(A2,2),$A$2:$A$3)-1)),0))/1024))

N.B. He dividido la segunda parte de la fórmula por 1024 para convertir los GB en TB.

Escribe esta fórmula en la celda C5:

=ROUND(C2+C3,2)&" TB"

Nota, Ajuste las referencias de las celdas en la fórmula según sea necesario.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: