• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

  • Forum yazılımı güncelenmiştir.

    Beklenmedik durumlar görürseniz lütfen yönetime iletin.

EĞER Formülü hakkında

Katılım
19 Ocak 2026
Mesajlar
7
Excel Vers. ve Dili
Excel
Merhaba arkadaşlar.
EĞER formülü ile ilgili bir sorunum var.

=EĞER(vek(C19)>30000;vek(C19)*1; 30000)

Formül bu şekildeyken çalışıyor.

=EĞER(vek(C19)>30000;vek(C19)*1; C19)

Ancak büyük değilse 30000 yerine C19 hücresinde kendisini yazmak istediğimde 30000'den büyük olan sayılarıda aynen yazıyor. Ama C19'da belirtilen sayı 30000 den büyük ise vek() makrosuna göre küçük ise aynen yazmasını yani vek (C19) 30000'den büyükse vek(C19)*1 değilse C19'da bulunan küçük sayıyı yazmasını istiyorum. Formülü yukarıda ki gibi yaptığımda C19 daki rakam 120.000 ise sonuçta 120.000 çıkıyor. Şimdiden teşekkür ederim
 
Merhaba,
Formüldeki vek ne olaki?
 
Merhaba arkadaşlar.
EĞER formülü ile ilgili bir sorunum var.



Formül bu şekildeyken çalışıyor.



Ancak büyük değilse 30000 yerine C19 hücresinde kendisini yazmak istediğimde 30000'den büyük olan sayılarıda aynen yazıyor. Ama C19'da belirtilen sayı 30000 den büyük ise vek() makrosuna göre küçük ise aynen yazmasını yani vek (C19) 30000'den büyükse vek(C19)*1 değilse C19'da bulunan küçük sayıyı yazmasını istiyorum. Formülü yukarıda ki gibi yaptığımda C19 daki rakam 120.000 ise sonuçta 120.000 çıkıyor. Şimdiden teşekkür ederim
Sorunu çözebilmek için vek adlı KTF kodlarını da paylaşmalısınız.
 
Sorunu çözebilmek için vek adlı KTF kodlarını da paylaşmalısınız.


Tabiki buyrun burada vekalet diye geçiyor ben vek diye kısa yazdım bilginize

Function vekalet(Sayi)
sat = 9
ReDim a(sat)
ReDim b(sat)
ReDim c(sat)
ReDim vergi1(sat)
deg1 = 0
i = 1


'vergi dilimleri
a(1) = 600000 '1. dilim
a(2) = 600000 '2. dilim
a(3) = 1200000 '3. dilim
a(4) = 1200000 '4. dilim
a(5) = 1800000 '5. dilim
a(6) = 2400000 '6. dilim
a(7) = 3000000 '7. dilim
a(8) = 3600000 '8. dilim
a(9) = a(8) * (Sayi)


'______________________________
'yüzde oranları
b(1) = 0.16 '1. dilim
b(2) = 0.15 '2. dilim
b(3) = 0.14 '3. dilim
b(4) = 0.13 '4. dilim
b(5) = 0.11 '5. dilim
b(6) = 0.8 '6. dilim
b(7) = 0.5 '7. dilim
b(8) = 0.4 '8. dilim
b(9) = 0.3 'diğerleri
'______________________________
c(1) = a(1)
c(2) = a(2) + a(1)
c(3) = a(3) + a(2)
c(4) = a(4) + a(3)
c(5) = a(5) + a(4)
c(6) = a(6) + a(5)
c(7) = a(7) + a(6)
c(8) = a(8) + a(7)
c(9) = a(9) '+ a(8)
'______________________________


While Sayi > 0
If Sayi >= c(i) Then
vergi1(i) = ((c(i) * b(i)) / 1)
Sayi = Sayi - c(i)
'ElseIf sayi < c(i) Then
Else
c(i) = Sayi
Sayi = Sayi - c(i)
vergi1(i) = ((c(i) * b(i)) / 1)
'Else
'vergi1(6) = ((c(6) * b(6)) / 1)
End If

deg1 = deg1 + vergi1(i)
i = i + 1
Wend


vekalet = Round(deg1, 2)

End Function
 
C19 da 120.000 yazıyorsa
Kod:
=vekalet(C19)
bu fonksiyon sonucu 19200 çıkıyor ve 30.000 den küçük olduğu için

=EĞER(vekalet(C19)>30000;vekalet(C19)*1; C19) bu formülün sonucu da C19 daki değer olan 120.000 dönüyor.

Yani sorun şu
Kod:
=vekalet(120000) = 19200
olarak dönüyor. Yani 30.000 den küçük.
 
C19 da 120.000 yazıyorsa
Kod:
=vekalet(C19)
bu fonksiyon sonucu 19200 çıkıyor ve 30.000 den küçük olduğu için

=EĞER(vekalet(C19)>30000;vekalet(C19)*1; C19) bu formülün sonucu da C19 daki değer olan 120.000 dönüyor.

Yani sorun şu
Kod:
=vekalet(120000) = 19200
olarak dönüyor. Yani 30.000 den küçük.

Aşağıdaki formülü yazdığımda formül çalışıyor.

=EĞER(vekalet(C19)>30000;vekalet(C19)*1; 30000)


Peki sorunumun çözülebilmesi için nasıl bir yol izlemeliyim.
 
Bu formülü deneyin.
Kod:
=EĞER(C19>30000;vekalet(C19)*1; C19)

Eğer yanlış anladıysam; bu formülü ve kodları unutup, tam olarak yapmak istediğiniz şeyi baştan sorarsanız belki yardımcı olabiliriz.
 
Son düzenleme:
Bu formülü deneyin.
Kod:
=EĞER(C19>30000;vekalet(C19)*1; C19)

Eğer yanlış anladıysam; bu formülü ve kodları unutup, tam olarak yapmak istediğiniz şeyi baştan sorarsanız belki yardımcı olabiliriz.


C19 hücresinde hesaplanan sayı 30000TL'den büyükse makrodaki hesaba göre hesaplama yapsın, küçükse C19'daki sayıyı hücreye yazsın.
 
Paylaştığım formül tam da bunu yapıyor keşke deneseydiniz.
 
Paylaştığım formül tam da bunu yapıyor keşke deneseydiniz.

Bir hususu atlıyorum çok özür dilerim. Şimdi paylaştığınız formül doğru lakin C19 da bulunan sayı 30.000TL ve üzerinde ise %lik dilim 30.000TL'yi geçene kadar 30.000TL'de kalması gerekiyor. Yani C19 daki sayı 40000 olduğunda makrodaki formüle göre değil 30.000TL'ye sabitlemesi gerekiyor. Yani 187500TL'ye kadar sabit, sonrası tutarlar için makroya göre hesaplaması gerekiyor.
Toparlayım biraz karışık oldu farkındayım kusuruma bakmayın C19 da bulunan tutar 30000 TL'den küçük ise C19 daki gibi kalacak. 30000 TLden büyük tutarlarda makrodaki formüle göre çıkan sonuç 30000TL den küçük ise 30.000TLye yuvarlayacak. Makrodaki formüle göre sonuç 30000TL'yi geçer ise çıkan sonuç neyse öyle kalacak

Çok teşekkür ederim yardımlarınız için şimdiden
 
Son düzenleme:
Merhaba,

Aradığınız çözüm bu olabilir mi?

C++:
=EĞER(vekalet(C19)>30000;vekalet(C19);MAK(vekalet(C19);30000))
 
Bu durumda örnek dosya ekleyerek olması gereken birkaç farklı senaryoya göre dosyanızda örnek vererek açıklarsanız ona göre uyarlama yapılabilir.
 
Geri
Üst