Comvertir formula excel a Function

Fantasma

New Member
Joined
Sep 25, 2002
Messages
7
Hola a todos: Tengo una formula condicional progresiva en una celda y me gustaria saber si se puede convertir en FUNCTION, es la siguiente:

=Si(y(Valor>3000,Valor<=3250),((Valor-3000)*5%+10),0)+Si(y(Valor>3250,Valor<=4000),((Valor-3250)*6%+15),0)

Saludos y espero me puedan ayudar
 

Excel Facts

Why does 9 mean SUM in SUBTOTAL?
It is because Sum is the 9th alphabetically in Average, Count, CountA, Max, Min, Product, StDev.S, StDev.P, Sum, VAR.S, VAR.P.

Fantasma

New Member
Joined
Sep 25, 2002
Messages
7
Hola Juan P.:

Gracias nuevamente por tu atención, deseo crear una funcion con esta formula ya que es bastante larga y hace la hoja pesada en todo caso quisiera hacer algo que supongo debe empezar asi

Public Function ISRenta(ByVal ? as Single)

End Function

Espero puedas darme luces al respecto.

Saludos
 

Juan Pablo González

MrExcel MVP
Joined
Feb 8, 2002
Messages
11,959
En la interrogación debe ir el nombre de la variable. No tiene que ser algo específico, algo como

Function Test(Valor1 as Double) as Double
Test = Valor1 * 2
End Function

debería funcionar bien.
 

Fantasma

New Member
Joined
Sep 25, 2002
Messages
7

ADVERTISEMENT

Gracias Juan P.:

La verdad es que tu ayuda fue muy buena, use tu ejemplo en otro caso y funciono perfectamente, sin embargo, lo que realmente me confunde es como establecer la parte lógica que detalle en la pregunta original en Visual Basic, tal y como lo hago en Excel.

Gracias por tu ayuda y disculpa las molestias
 

gwatanab

New Member
Joined
Oct 6, 2002
Messages
26
Hola, esta macro escrita en "cavernícola" puede servir . Genera la función progre :

----------------------------------------
Function progre(valor)

Dim a

If valor > 3000 And valor <= 3250 Then
a = (valor - 3000) * 5 / 100 + 10
End If

If valor > 3250 And valor <= 4000 Then
a = (valor - 3250) * 6 / 100 + 15
End If

progre = a

End Function
----------------------------------------
 

Fantasma

New Member
Joined
Sep 25, 2002
Messages
7

ADVERTISEMENT

Chuleta Juan Pablo si tu no eres MrExcel, yo creo que eres SuperExcel, porque lo que tu llamas cavernícola funcionó como yo esperaba, lo unico que hice fue agregarle "As double" en la variable y utilizar el "Elseif" en vez de reiciciar el "if", gracias de todo corazon y ojala algun día yo pueda ayudarte igual

Saludos,
 

Fantasma

New Member
Joined
Sep 25, 2002
Messages
7
Al amigo gwatanab, Mil gracias, fue una excelente solución y no creo para nada que esta función sea cavernícola.

y al amigo Juan P., mi comentario sobre lo de Superexcel sigue siendo al mismo.

Les reitero a ambos mi gratitud y espero poder ayudarlos igual algun día de estos.

Saludos y hasta la proxima.
 

Forum statistics

Threads
1,147,451
Messages
5,741,197
Members
423,648
Latest member
steel1968

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Top