Problema en Excel

herre

Hola!

Quería saber si existe alguna función que devuelva el valor de una celda tras imponer cierto valor de entrada. Probablemente se entenderá mejor con una imagen:

La casilla verde devuelve el resultado de una función bastante complicada. Lo que quiero es obtener el valor de esa función para distintas variables (casillas rojas) Podría ir modificando el valor de la casilla y apuntar en un papel los resultados, pero es un poco chapuza.

Gracias de antemano!

En pseudo código sería algo así como:

Fila 1 | RETURN <CASILLA RESULTADO> IF <CASILLA VARIABLE = CASILLA 1>
Fila 2 | RETURN <CASILLA RESULTADO> IF <CASILLA VARIABLE = CASILLA 2>
Fila 3 | RETURN <CASILLA RESULTADO> IF <CASILLA VARIABLE = CASILLA 3>
Fila 4 | RETURN <CASILLA RESULTADO> IF <CASILLA VARIABLE = CASILLA 4>
...

Ulmo

No acabo de entender muy bien cual es tu problema, pero para el tipico problema de "sabiendo un valor como puedo sacar otro con el q esta relacionado", suele ser bastante útil la funcion de busqueda vertical BUSCARV(), q vale tanto en office como en oppenoffice, si lo tienes en ingles la funcion es VLOOKUP().

No se si la conoces o no, o si es lo q necesitas, quizas yo ando un poco despistado pero no he entendido una mierda de lo q explicas.

Si no sabes usarla y crees q te puede servir quoteame y te suelto una mini-explicación de como usarla.

De todas formas si tienes nociones de programación el excell de windows permite programar funciones en visual basic de forma muy fácil.

1 respuesta
herre

#2 Gracias por la respuesta, esa función no me sirve para nada en principio. A ver si me sé explicar mejor.

En una casilla B1 tengo un resultado que es función de una variable A1. Lo que quiero es obtener varios resultados B2,B3,B4... para una lista de variables que yo especifique A2,A3,A4...

Y no puedo hacer el típico asunto de poner en una columna las variables y en otra la fórmula que me da el resultado, y arrastrar, porque hay un gran número de operaciones intermedias.

Así que estaba buscando una función que me devolviera el valor de una celda A1 haciendo que B1 sea igual a una tercera casilla C1.

Es una idea bastante sencilla pero complicada de explicar y llevar a cabo xD. Voy a subir la hoja de excel en donde se ve lo que quiero (conseguido "por la cuenta de la vieja " ). Es la sección bajo el nombre Resultados Globales (Chapuza).

http://www6.zippyshare.com/v/45151028/file.html

Me interesaría saber más sobre lo de meter funciones de Visual Basic

1 respuesta
KingFish

Y tampoco te sirve utilizando $$?

Sinceramente no entiendo una mierda de lo que quieres explicar xD Me he bajado la hoja y tampoco lo veo. Si al menos pusieras la fórmula de cómo sacas los resultados globales...

herre

Creemé, no ayudaria. Dios mio realmente solo quiero una función que devuelva el valor de una casilla imponiendo un valor en otra xD

KingFish

Pon al menos la fórmula de cómo sacas uno de los resultados globales, ya es algo personal xD

herre

http://www27.zippyshare.com/v/99770711/file.html

Sírvete xD

2 respuestas
KingFish

Tío qué esperas que pille xDDDDDDDDD

Qué quieres sacar el valor de J para poder hallar el CT? hahahaha

#7 He estado releyendo #1 y #3 y parece que tu problema es mucho más sencillo de como lo estás planteando. Conoces el uso de $? xd

herre

Claro tío xD si está usado varias veces.

Quiero obtener varios C_T en función de V_inf. Si C_T fuera por ejemplo, 3*V_inf, no tendría más que hacer una columna con los valores de V_inf , en la de al lado poner la fórmula, y a correr.

Pero C_T es función de T, y T es la suma de todos los dT, y cada dT es función de una función .... de una función de V_inf.

Bloody

Desde el lunes he mirado el hilo a la espera de alguna pequeña aportación que me ilumine y así poder intentar ayudar. Pero que va, entre más leo, más me lio xDDDD

Ulmo

#7 Te explicas como el puto culo, veo casi imposible q lo q dices no se pueda hacer arrastrando una formula por muchisimas cosas intermedias q haya, pero visto q el canal comunicativo falla, te voy a poner una forma "a garrotazos" para poderlo hacer.

Teniendo en cuenta q hace años q no uso el Visual Basic de Excel, quizas mi explicación tiene algun fallo, pero básicamente estará bien corrigiendo 2 tonterias:

Pones en la hoja de excel un botón, al hacer doble-click sobre él podrás asignarle una función, creo q por defecto te crea una función vacia con el nombre del botón, una vez hecho esto se te abrirá el editor de macros.

Bien, supongamos q tu fórmula supercomplicada coje su valor de A1 y q quieres q ese valor vaya cambiando con los valores q se encuentran de B1 hasta q ya no hayan números en dicha columna, y los quieres ir colocando los resultados en C1 en adelante ( es decir a su derecha ), el resultado de la operación se podrá ver en A2, la cosa seria algo asi:


Dim i as integer
i = 1
Do Until Cells(2,i) = ""
Cells(1,1) = Cells(2,i)
Cells(3,i) = Cells(1,2)
i = i +1
Loop  

Pero insisto q no me creo q no se pueda hacer arrastrando formula xD

herre

Como se inserta un botón? xDD Por lo que entiendo del código, es justo lo que necesito. Y estoy seguro de que no se puede hacer arrastrando, de verdad xD.

Uso Office 2010

1 respuesta
Ulmo

#12 Es posible q mi código tenga algún error, de todas formas, son solo 3 o 4 lineas, con las ayudas q da office es fácil corregir alguna palabra q me haya patinado, como te digo hace años q no toco el editor visual basic de office.

añadir boton

Basicamente esto es un boton:

Y una vez puesto el botón te dice q si le quieres asignar una macro

Usuarios habituales

  • Ulmo
  • herre
  • Bloody
  • KingFish