evaluar formula en texto

26/07/2006 - 18:09 por Francisco M | Informe spam
Amigos del foro, me pueden ayudar con esto:
En excel, ¿existe alguna fórmula para evaluar una fórmula en texto?, por
ejemplo...
=evaluar("=suma(2,3)")

lo unico que se me ocurre (y funciona) es enviarla por vba a una celda cómo
formula y rescatar el valor, pero no hay algo más directo?
ya que para esto debo tener una celda temporal, y es poco limpio.

Saludos, y gracias.
Francisco.
 

Leer las respuestas

#1 Héctor Miguel
27/07/2006 - 01:41 | Informe spam
hola, Francisco !

... existe alguna formula para evaluar una formula en texto?, por ejemplo... =evaluar("=suma(2,3)")
lo unico que se me ocurre (y funciona) es enviarla por vba a una celda como formula y rescatar el valor
pero no hay algo mas directo?
ya que para esto debo tener una celda temporal, y es poco limpio.



op1: definir una funcion personalizada [vba] que tome textos y los 'convierta' a formula [o al menos... que lo intente]
Function Mi_formula(Texto As String)
Mi_formula = Evaluate("=" & Texto)
End Function

-> si suponemos que en 'A1' escribes [sin el signo '='] el texto -> sum(2,3)
aplicar la formula [B1] =mi_formula(a1) -> devolveria el resultado de -> 5
o.. =mi_formula("sum(2,3)")
-> CONS: las 'funciones' que intervengan deberan ser especificadas en ingles, y el separador de argumentos debera ser la coma ';'

op2: puedes usar la macro-funcion de excel version 4.0 -> evaluar("texto") +/- como sigue:
-> si suponemos que en 'A1' escribes la formula [en el idioma instalado y el separador de argumentos 'configurado'] -> suma(2,3)
y que el resultado lo necesitas una celda a la derecha de donde escribes el texto-formula [B1] ?
1) selecciona la celda 'B1'
2) inserta/define un nombre [menu] insertar / nombre / definir...
nombre: [p.e.] Mi_formula
se refiere a: -> =evaluar(!a1)
3) [todavia en 'B1'] usar el nombre definido para 'evaluar' el texto de la celda a la izquierda: -> =MI_formula
-> CONS: la macro-funcion [evaluar] debera ser en el idioma instalado de la version de excel donde se usara
ademas del separador de argumentos configurado en el sistema

nota: como veras... cualquiera de las dos pudiera funcionar/fallar... segun idioma/configuracion donde se ejecute :-((

op3: por que 'filtrar' por una cadena de texto alguna funcion... en lugar de usar la funcion 'en directo' ? -> =suma(2,3) -???-

si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

Preguntas similares