EĞER VE YUVARLAMA FONKSİYONU

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
EÐER VE YUVARLAMA FONKSÝYONU

Analiz değeri 650 nin altında bir malzeme için tonaj fiyatının yüzdesi üzerinden ceza uygulayan bir excel çalışması yapmaya çalıştım. Değer 650 ve yukarısı ise NORMAL 550 den küçük ise malzeme RED, 650 den küçük 550 den büyük ise CEZA uygulayacak. Her 10 puanlık düşüş için %2 ceza uygulayacak Tonajlar sayfasında H6 değerinin %2'si kadar ceza uygulayacak örneğin analiz sonucu 630 ise normal değer 650-630=20 puanlık düşüş için %4, 30 puanlık için %6 bunu EÐER fonksiyonu ile yaptım ama çok uzun oluyor. Bunun makrosunu yazmak istedim. isakarakus beyin İf ile ilgili yazısını okudum denedim,yapamadım.Aşağıda benim fonksiyon olarak yazdırdığım EÐER kısmı var

EÐER(E14>=650;"NORMAL";EÐER(VE(E14>=640;E14<650);Tonajlar!H6*(2/100);EÐER(VE(E14>=630;E14<640);Tonajlar!H6*(4/100);EÐER(VE(E14>=620;E14<630);Tonajlar!H6*(6/100);EÐER(VE(E14>=610;E14<620);Tonajlar!H6*(8/100);EÐER(VE(E14>=600;E14<610);Tonajlar!H6*(10/100);EÐER(E14<550;"RED")))))))

Diğer bir sorumda yukarıdaki işlemi YUVARLA fonksiyonu ile nasıl yapabilirmiyim daha kısa olabilir diye düşündüm. 650 ile 640 arasında değerleri 640 yuvarlayıp(yani aşağıyuvarlaycak) 650-640=10 kabul edip EÐER 10 ise Tonajı %2 ile 632 gibi bir değerse bunuda 650-632=18 olup bunuda E14>=630;E14<640 mantığına göre 20 kabul edip Tonajı %4 ile
çarpmasını istiyorum. YUVARLA için makro daha iyi olur benim için Yardımlarınız için şimdiden teşekkürler.
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,646
Excel Vers. ve Dili
Pro Plus 2021
e14 hücresindeki değere göre sonucu f14 hücresine yazar

[vb:1:a92e787954]Sub kont()
al = [e14]
[f14] = ""
If al >= 650 Then
[f14] = "Normal"
Exit Sub
End If
If al < 550 Then
[f14] = "Red"
Exit Sub
End If
[f14] = WorksheetFunction.RoundUp((650 - al) / 10, 0) * 2 / 100 * [tonajlar!h6]
End Sub
[/vb:1:a92e787954]
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
650-640 arasındaki 642 643 644 gibi değerler için yani o aradaki her değer için
için hesaplamasını istiyorum ama bu makroya göre 642 için başka değer 644 için başka değer veriyor.
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,646
Excel Vers. ve Dili
Pro Plus 2021
aynen dediğiniz gibi hesaplıyor, değişiklik yaptıysanız kontrol edin
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
=EÐER(E14>=650;"NORMAL";EÐER(E14<550;"RED";EÐER(VE(E14>=640;E14<650);Tonajlar!H6*(2/100);EÐER(VE(E14>=630;E14<640);Tonajlar!H6*(4/100);EÐER(VE(E14>=620;E14<630);Tonajlar!H6*(6/100);EÐER(VE(E14>=610;E14<620);Tonajlar!H6*(8/100);EÐER(VE(E14>=600;E14<610);Tonajlar!H6*(10/100);(EÐER(VE(E14>=590;E14<600);Tonajlar!H6*(12/100);EÐER(VE(E14>=580;E14<590);Tonajlar!H6*(14/100);EÐER(VE(E14>=570;E14<580);Tonajlar!H6*(16/100);EÐER(VE(E14>=560;E14<570);Tonajlar!H6*(18/100);EÐER(VE(E14>=550;E14<560);Tonajlar!H6*(20/100))))))

Bunu yazdım ama 8 eğerden sonra yapamadı o nedenle makro lazım diye düşünüyorum.
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
E14 hücresine değer yazdığımda B29 da yukarıda belirttiğim şekilde hesaplama yapacak ama diğerleri gibi renklerinin aynı kalmasını istiyorum normal ise yeşil red ise kırmızı, cezalı ise açık kavuniçi renk
ilgili dosyayı ataç ettim.
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Elerine sağlık Veyselemre istediğim gibi olmuş
Ufak bir sorum daha var aynı şeyi buton eklemedende yapılabilirmi ilgili hücreye direk sonuç yazması gibi
 
Üst