Pregunta

Tengo una hoja de Excel
texto alternativo ??

El requisito es sumar los dígitos en las celdas de la columna 'C' y colocar el valor en la celda correspondiente en la columna 'B' (en mi ejemplo 0.25 + 1 + 0.25 + 1 = 2.5).

Los valores en la columna 'C' podrían cambiar. El requisito es actualizar el valor en 'B' tan pronto como cambie la celda en la columna 'C'.

Le pedí al creador que cambie a texto y números en dos columnas diferentes, pero eso no es aceptable debido a la plantilla estándar.

¿Fue útil?

Solución

Esto se puede lograr, sin alterar el texto en la celda, usando una Macro. Debo admitir que la implementación será un poco retrasada, ya que necesitas hacer algunas cosas.

1 - Tokenize el contenido completo de la celda y almacene los tokens en una matriz de cadenas.

Ya hay un problema. El texto ubicado dentro de la celda es extremadamente inconsistente. Tiene -250 ms, - 250 ms, - 1 seg, - 1 seg. Debido a esto, tendrá que verificar cada instancia. Por lo tanto, no puede simplemente verificar si el valor es un número, debe verificar todas las permutaciones que los miembros de su equipo le han proporcionado convenientemente.

La mejor manera de hacer esto sería verificar contra las expresiones regulares. Por lo tanto, # 2 debe ser:

2: comprueba cada valor para ver si coincide con una de las 4 expresiones regulares.

3 - Dependiendo del Regex con el que coincida, extraiga el valor numérico.

a) Si simplemente es un valor (es decir, > 250), verifique si ms o seg procede del valor. SI ms, divida el número por 1000. Si es seg, deje el número como está. Suma el número al total.
b) Si un número va precedido por un guión (-), elimínelo y repita el paso a)
c) Si un número seguido de letras, elimine las letras y repita el paso a)
d) Si un número seguido por un punto, no haga nada. Este es un punto de bala.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top