Iskonto formülü

Katılım
14 Şubat 2006
Mesajlar
710
Excel Vers. ve Dili
2002-TÜRKÇE
Merhabalar

Ekteki Çalışmada Net fiyatı veren formüle ihtiyacım bulunmaktatır.Detaylı açıklama tabloda mevcuttur.Tşk.
 

Ekli dosyalar

muygun

Özel Üye
Katılım
6 Temmuz 2004
Mesajlar
9,181
Excel Vers. ve Dili
Excel-2003 Türkçe
Merhaba
Galiba buna benzer bir sorunuz daha vardı.
Tabloda olması gereken 2 konuyu uygun görürseniz tablo kullanılabilir.
1.- iskonto oranlarını yazarken 2 karakter yazın (tek iskonto için 5 yada 40 vs yazabilirsiniz)
Birden fazla iskonto için örn: 5+40 için 05+40 yada 40+5+8+10 için 40+05+08+10 şeklinde. Yani birden fazla oran uyguladığınız yerlerde her oran 2 karakter olmak durumunda.
2.- tablonuz hs isimli bir yardımcı sayfaya sahip. Verilerinizin ne kadar genişleyebileceğini bilmediğimden ben bir miktar kodlama yaptım. Bu yetersiz kalırsa hs sayfasında en son gri hücreleri kopyalayıp aşağı doğru yapıştırın. Ayrıca aynı sayfa 20 adet iskonto için kodlandı. 20 den fazla iskonto yazma ihtimaliniz varsa hs sayfasındaki en son sütunu kopyalayıp sağ tarafa doğru yapıştırın.
İyi çalışmalar.
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,249
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Alternatif olarak kullanıcı tanımlı fonksiyon (KTF) ile hazırladığım çözümü kullanabilirsiniz.

Hücredeki kullanım şekli;
Kod:
[B][COLOR=blue]=ÖZEL_İSKONTO(Birim_Fiyat_Hücresi;İskonto_Hücresi)[/COLOR][/B]

Kod:
Option Explicit
 
Function ÖZEL_İSKONTO(Birim_Fiyat As Range, İskonto As Range)
    Dim Oran As Variant, X As Byte, Net_Fiyat As Double
    Application.Volatile
    If İskonto = 0 Then Net_Fiyat = Birim_Fiyat
    If InStr(1, İskonto, "+") > 0 Then
    Oran = Split(İskonto, "+")
    For X = 0 To UBound(Oran)
    If Oran(X) <> 0 Then
    If Net_Fiyat = 0 Then
    Net_Fiyat = Birim_Fiyat - (Birim_Fiyat * Oran(X) / 100)
    Else
    Net_Fiyat = Net_Fiyat - (Net_Fiyat * Oran(X) / 100)
    End If
    End If
    Next
    ElseIf İskonto <> 0 Then
    Net_Fiyat = Birim_Fiyat - (Birim_Fiyat * İskonto / 100)
    End If
    ÖZEL_İSKONTO = Net_Fiyat
End Function
 

Ekli dosyalar

Katılım
14 Şubat 2006
Mesajlar
710
Excel Vers. ve Dili
2002-TÜRKÇE
F

Teşekkür ederim.Tam istediğim gibi olmuş
 
Üst