• DİKKAT

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

EĞER Formülü hakkında

Katılım
19 Ocak 2026
Mesajlar
6
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
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,607
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,
Formüldeki vek ne olaki?
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,804
Excel Vers. ve Dili
2021 Türkçe
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.
 
Katılım
19 Ocak 2026
Mesajlar
6
Excel Vers. ve Dili
Excel
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
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,804
Excel Vers. ve Dili
2021 Türkçe
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.
 
Katılım
19 Ocak 2026
Mesajlar
6
Excel Vers. ve Dili
Excel
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.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,804
Excel Vers. ve Dili
2021 Türkçe
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:
Katılım
19 Ocak 2026
Mesajlar
6
Excel Vers. ve Dili
Excel
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.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,804
Excel Vers. ve Dili
2021 Türkçe
Paylaştığım formül tam da bunu yapıyor keşke deneseydiniz.
 
Katılım
19 Ocak 2026
Mesajlar
6
Excel Vers. ve Dili
Excel
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:

Korhan Ayhan

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

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

C++:
=EĞER(vekalet(C19)>30000;vekalet(C19);MAK(vekalet(C19);30000))
 
Üst