Excel Forum

Excel Forum (http://www.excel.web.tr/index.php)
-   Diğer Excel Soruları (http://www.excel.web.tr/forumdisplay.php?f=50)
-   -   Nestle prim hesaplama tablosu (http://www.excel.web.tr/showthread.php?t=169516)

firefox_37 05-01-2018 09:16

Nestle prim hesaplama tablosu
 
Herkese merhaba,

Öncelikle bu forumda bulunmak bilgi paylaşımına ortak olmaktan çok mutluyum. İyi ki varsınız.

Aşağıda linkini paylaştığım dosyada prim kriterleri var. Burada yapmak istediğim, bir temsilcime verilen hedefleri % yüzdelere göre hangi dilimi hakediyorsa otomatik olarak prim hesaplamalarına getirmesi.

Örn;

Sheet 1 de C5 te Büşra ULUSOY hedefleri, gerçekleşenleri ve %leri var.
Sheet 2 de %lik dilimlerin hakedişini gösteren tablo var. Yani Büşra ULUSOY'un Kahve %97. Buna göre Sheet 2 ye bakacak Kahvede %97 nin hakedişini Sheet1 de E35 e yazacak.

Çalıştığım şirkette bunu manuel yapıyoruz ve inanın hem çok ciddi zaman, hemde bir çok yanlışlığa neden oluyoruz.
http://dosya.co/ki5xo2yh2az5/SATIŞ_T...2017.xlsx.html

Yardımlarınız için teşekkürler.

firefox_37 08-01-2018 10:24

Tekrar merhaba,

Konuyu tam olarak anlatamadım mı ? Yoksa böyle bir şey mümkün değil midir ?

Teşekkürler.

selocan46 08-01-2018 14:51

http://dosya.co/88h3p2o8i68d/SATIŞ_T...2017.xlsx.html

dosyayı incelermisin

mantık şu %97 yi yan sütünda sayıya çevirip sayfa2 deki prim tablonu formüle manuel yazdım.
Umarım işini görür

firefox_37 09-01-2018 12:52

Selocan46 merhaba,

%97 hemen yan sütüna 97 olarak yazmışsın evet. Daha sonra yazdığın formülün tam olarak ne yaptığını anlayamadım.

97 nin karşılığı sayfa 2 de kahve için 440,00 TL. Bu rakamı sayfa1 de E35 hücresine yazmasını istiyorum.

selocan46 09-01-2018 13:36

Sayın Firefox_37 merhaba
Yanlış anlamadım değilmi zaten sheet 2 de 440 ı hesaplıyorsun sadece bu 440 ı sheet 1 de e5 te göreceksin ?
O zaman sheet1 de e5 e ='GK Prim Kriteri'!H64 çözmüyormu?

firefox_37 09-01-2018 14:42

Merhaba tekrar,

Sanırım yanlış anladınız.

%97 'nin karşılığı 440 TL'yi E35 hücresine yazması lazım.

firefox_37 12-01-2018 08:15

Arkadaşlar merhaba,

Dosyaya bakan anlatmak istediğimi anlamayan arkadaşlara daha detaylı nasıl yardımcı olabilirim.
Aslında basit bir formül olduğunu düşünüyorum.

Konuyu anlatamadıysam daha detaylı tekrar anlatabilirim.

halit3 12-01-2018 09:53

Merhaba
GK Prim Kriteri
GT BIS Prim Kriteri
MT Prim Kriteri
MT Prim Kriteri A

bu sayfalardaki verilerin satır ve sutundaki datalar aynı kalmak şartı ile
PRİM HAKEDİŞ TABLOSU bu sayfanın F34:I34 Başlıkları yukarıdaki sayfalardaki D64:D68 Arasındaki başlıklar aynı olmak kayıtı ile aşağıdaki kullanıcı tanımlı fonksiyonu kullanabilirsiniz.
kodu bir modüle kopyalayın

Kod:

Function sonuc(aranan, oran)


sayfa = "GK Prim Kriteri" 'ActiveSheet.Name

If aranan = "" Then
'sonuc = ""
Exit Function
ElseIf oran = "" Then
'sonuc = ""
Exit Function
End If
oran = Val(oran * 100)


bulunan1 = "Kahve"
bulunan2 = "Çikolata"
bulunan3 = "RTD + TOZ"
bulunan4 = "Maggi"
bulunan5 = "Gevrek"


If aranan = bulunan1 Then
sat = 64
If oran = 100 Then
sonuc = Sheets(sayfa).Cells(sat, 6).Value
ElseIf oran >= 90 And oran <= 94 Then
sonuc = Sheets(sayfa).Cells(sat, 7).Value
ElseIf oran >= 95 And oran <= 99 Then

sonuc = Sheets(sayfa).Cells(sat, 8).Value
ElseIf oran >= 101 And oran <= 105 Then
sonuc = Sheets(sayfa).Cells(sat, 10).Value
ElseIf oran >= 106 And oran <= 110 Then
sonuc = Sheets(sayfa).Cells(sat, 11).Value
ElseIf oran >= 111 And oran <= 115 Then
sonuc = Sheets(sayfa).Cells(sat, 12).Value
ElseIf oran >= 116 And oran <= 120 Then
sonuc = Sheets(sayfa).Cells(sat, 13).Value
ElseIf oran >= 121 And oran <= 125 Then
sonuc = Sheets(sayfa).Cells(sat, 14).Value
ElseIf oran >= 126 And oran <= 130 Then
sonuc = Sheets(sayfa).Cells(sat, 15).Value
End If
End If


If aranan = bulunan2 Then
sat = 65
If oran = 100 Then
sonuc = Sheets(sayfa).Cells(sat, 6).Value
ElseIf oran >= 90 And oran <= 94 Then
sonuc = Sheets(sayfa).Cells(sat, 7).Value
ElseIf oran >= 95 And oran <= 99 Then
sonuc = Sheets(sayfa).Cells(sat, 8).Value
ElseIf oran >= 101 And oran <= 105 Then
sonuc = Sheets(sayfa).Cells(sat, 10).Value
ElseIf oran >= 106 And oran <= 110 Then
sonuc = Sheets(sayfa).Cells(sat, 11).Value
ElseIf oran >= 111 And oran <= 115 Then
sonuc = Sheets(sayfa).Cells(sat, 12).Value
ElseIf oran >= 116 And oran <= 120 Then
sonuc = Sheets(sayfa).Cells(sat, 13).Value
ElseIf oran >= 121 And oran <= 125 Then
sonuc = Sheets(sayfa).Cells(sat, 14).Value
ElseIf oran >= 126 And oran <= 130 Then
sonuc = Sheets(sayfa).Cells(sat, 15).Value
End If
End If

If aranan = bulunan3 Then
sat = 66
If oran = 100 Then
sonuc = Sheets(sayfa).Cells(sat, 6).Value
ElseIf oran >= 90 And oran <= 94 Then
sonuc = Sheets(sayfa).Cells(sat, 7).Value
ElseIf oran >= 95 And oran <= 99 Then
sonuc = Sheets(sayfa).Cells(sat, 8).Value
ElseIf oran >= 101 And oran <= 105 Then
sonuc = Sheets(sayfa).Cells(sat, 10).Value
ElseIf oran >= 106 And oran <= 110 Then
sonuc = Sheets(sayfa).Cells(sat, 11).Value
ElseIf oran >= 111 And oran <= 115 Then
sonuc = Sheets(sayfa).Cells(sat, 12).Value
ElseIf oran >= 116 And oran <= 120 Then
sonuc = Sheets(sayfa).Cells(sat, 13).Value
ElseIf oran >= 121 And oran <= 125 Then
sonuc = Sheets(sayfa).Cells(sat, 14).Value
ElseIf oran >= 126 And oran <= 130 Then
sonuc = Sheets(sayfa).Cells(sat, 15).Value
End If
End If

If aranan = bulunan4 Then
sat = 67
If oran = 100 Then
sonuc = Sheets(sayfa).Cells(sat, 6).Value
ElseIf oran >= 90 And oran <= 94 Then
sonuc = Sheets(sayfa).Cells(sat, 7).Value
ElseIf oran >= 95 And oran <= 99 Then
sonuc = Sheets(sayfa).Cells(sat, 8).Value
ElseIf oran >= 101 And oran <= 105 Then
sonuc = Sheets(sayfa).Cells(sat, 10).Value
ElseIf oran >= 106 And oran <= 110 Then
sonuc = Sheets(sayfa).Cells(sat, 11).Value
ElseIf oran >= 111 And oran <= 115 Then
sonuc = Sheets(sayfa).Cells(sat, 12).Value
ElseIf oran >= 116 And oran <= 120 Then
sonuc = Sheets(sayfa).Cells(sat, 13).Value
ElseIf oran >= 121 And oran <= 125 Then
sonuc = Sheets(sayfa).Cells(sat, 14).Value
ElseIf oran >= 126 And oran <= 130 Then
sonuc = Sheets(sayfa).Cells(sat, 15).Value
End If
End If

If aranan = bulunan5 Then
sat = 67
If oran = 100 Then
sonuc = Sheets(sayfa).Cells(sat, 6).Value
ElseIf oran >= 90 And oran <= 94 Then
sonuc = Sheets(sayfa).Cells(sat, 7).Value
ElseIf oran >= 95 And oran <= 99 Then
sonuc = Sheets(sayfa).Cells(sat, 8).Value
ElseIf oran >= 101 And oran <= 105 Then
sonuc = Sheets(sayfa).Cells(sat, 10).Value
ElseIf oran >= 106 And oran <= 110 Then
sonuc = Sheets(sayfa).Cells(sat, 11).Value
ElseIf oran >= 111 And oran <= 115 Then
sonuc = Sheets(sayfa).Cells(sat, 12).Value
ElseIf oran >= 116 And oran <= 120 Then
sonuc = Sheets(sayfa).Cells(sat, 13).Value
ElseIf oran >= 121 And oran <= 125 Then
sonuc = Sheets(sayfa).Cells(sat, 14).Value
ElseIf oran >= 126 And oran <= 130 Then
sonuc = Sheets(sayfa).Cells(sat, 15).Value
End If
End If


End Function

kodun kullanılışı
PRİM HAKEDİŞ TABLOSU sayfası E35 Hücresi için
Kod:

=sonuc(E$34;I5)
bu fonksiyonu yazın
F35 Hücresi için

Kod:

=sonuc(F$34;L5)
bunu yazın gerisini siz yaparsınız.

firefox_37 15-01-2018 07:05

Halit Bey merhaba,

Kodu bir modüle kopyalayın işlemini nasıl yapacağım. Bu konuda fazla bilgim yok tarif edebilirseniz yapabilirim.

Çok teşekkürler.

halit3 15-01-2018 09:36

klavyede Alt+F11 tuşlarına basınız.
Yukarıdaki menülerden Insert/Module
tıklayın açılan bölüme kodu yapıştırın.

Kodun çalışması için makrolarınız etkin olmalı ve dosyayı farklı kayıt et seçeneğinden Excel Makro etkin çalışma kitabı olarak kayıt yapın

firefox_37 15-01-2018 16:04

Halit Bey tekrar merhaba,

Dediğiniz gibi yaptım. E35 ve F35 hüclerine de yazmış olduğunuz formülleri yapıştırdım. Fakat hala 0 gözükmekte. Tam olarak çalıştıramadım mı acaba.

Teşekkürler.

halit3 15-01-2018 16:39

Alıntı:

firefox_37 tarafından gönderildi (Mesaj 926188)
Halit Bey tekrar merhaba,

Dediğiniz gibi yaptım. E35 ve F35 hüclerine de yazmış olduğunuz formülleri yapıştırdım. Fakat hala 0 gözükmekte. Tam olarak çalıştıramadım mı acaba.

Teşekkürler.

8 nolu mesajımdaki

Kod:

GK Prim Kriteri
GT BIS Prim Kriteri,
MT Prim Kriteri,
MT Prim Kriteri A
sayfalardaki D64:D68 hücreleri ile PRİM HAKEDİŞ TABLOSU sayfanın F34:I34 hücreleri Başlıkları aynı olacak

bunları yaptınızmı

firefox_37 16-01-2018 12:48

Halit Bey tekrar merhaba,

Dediğini gibi de yaptım. Dosya aşağıda ki gibi. 8. mesajdakileri de yaptım. Dosyayı en yalın hale getirdim. Tekrar bir bakalbilir misiniz ?

Linkte ki dosyaya göre C5 hücresinde ki BÜŞRA ULUSOY'un yüzde rakamlarına istinaden GK Prim Kirteri sayfasına bakacak ve aşağıda ki hakedişleri yazacak.
D35e 140 TL
E35e 440 TL
F35e 280 TL
G35e 100 TL
H35e 190 TL
I35e 110 TL yazması gerekiyor. Bu rakamları getirirsek sıkıntı kalmayacak gibi. Bu yüzde oranları her ay değişilik gösterecek.

http://dosya.co/zy9hziahfcy9/SATIŞ_T...AKRO.xlsm.html

Gerçekten çok teşekkürler.

halit3 16-01-2018 12:59

Kodun bu bölümü

Kod:

bulunan1 = "Kahve"
bulunan2 = "Çikolata"
bulunan3 = "RTD + TOZ"
bulunan4 = "Maggi"
bulunan5 = "Gevrek"

PRİM HAKEDİŞ TABLOSU sayfası E34 hücresinde (KAHVE) bu yazıyor.
GK Prim Kriteri sayfası D5 hücresinde (Kahve) bu yazıyor.


şimdi veri almak için kırmızı yerlerdeki değerler (kelime) aynı olmalı bu değerler aynı ise veri alınacaktır
diğer taraftan

bulunan2 = "Çikolata"
bulunan3 = "RTD + TOZ"
bulunan4 = "Maggi"
bulunan5 = "Gevrek"

mavi yerlerde diğer hücredeki değerlerle aynı olmalı

firefox_37 16-01-2018 13:21

Kodun içindeki gibi yaptım başlıkları. Hücre yine 0,00 TL. Makroların çalışması için buton mu yapmalıyım. Kendi otomatikman çalışması mı lazım. ?

halit3 16-01-2018 13:27

Şimdi fark ettim siz kodu
PRİM HAKEDİŞ TABLOSU sayfası kod bölümüne ve Module1 in kod bölümüne koymuşsunuz
PRİM HAKEDİŞ TABLOSU sayfasındaki kodu silin bir dosyada aynı kod iki kere olmaz ayrıca sayfalarınızdaki satırlardada değişiklik olmuş

Module1 kod sayfasındaki kodu bununla değiştirin

Kod:

Function sonuc(aranan, oran)

sayfa = "GK Prim Kriteri" 'ActiveSheet.Name

If aranan = "" Then
'sonuc = ""
Exit Function
ElseIf oran = "" Then
'sonuc = ""
Exit Function
End If
oran = Val(oran * 100)


bulunan1 = "KAHVE"
bulunan2 = "Çikolata"
bulunan3 = "RTD + TOZ"
bulunan4 = "Maggi"
bulunan5 = "Gevrek"


If aranan = bulunan1 Then
sat = 5
If oran = 100 Then
sonuc = Sheets(sayfa).Cells(sat, 6).Value
ElseIf oran >= 90 And oran <= 94 Then
sonuc = Sheets(sayfa).Cells(sat, 7).Value
ElseIf oran >= 95 And oran <= 99 Then

sonuc = Sheets(sayfa).Cells(sat, 8).Value
ElseIf oran >= 101 And oran <= 105 Then
sonuc = Sheets(sayfa).Cells(sat, 10).Value
ElseIf oran >= 106 And oran <= 110 Then
sonuc = Sheets(sayfa).Cells(sat, 11).Value
ElseIf oran >= 111 And oran <= 115 Then
sonuc = Sheets(sayfa).Cells(sat, 12).Value
ElseIf oran >= 116 And oran <= 120 Then
sonuc = Sheets(sayfa).Cells(sat, 13).Value
ElseIf oran >= 121 And oran <= 125 Then
sonuc = Sheets(sayfa).Cells(sat, 14).Value
ElseIf oran >= 126 And oran <= 130 Then
sonuc = Sheets(sayfa).Cells(sat, 15).Value
End If
End If


If aranan = bulunan2 Then
sat = 6
If oran = 100 Then
sonuc = Sheets(sayfa).Cells(sat, 6).Value
ElseIf oran >= 90 And oran <= 94 Then
sonuc = Sheets(sayfa).Cells(sat, 7).Value
ElseIf oran >= 95 And oran <= 99 Then
sonuc = Sheets(sayfa).Cells(sat, 8).Value
ElseIf oran >= 101 And oran <= 105 Then
sonuc = Sheets(sayfa).Cells(sat, 10).Value
ElseIf oran >= 106 And oran <= 110 Then
sonuc = Sheets(sayfa).Cells(sat, 11).Value
ElseIf oran >= 111 And oran <= 115 Then
sonuc = Sheets(sayfa).Cells(sat, 12).Value
ElseIf oran >= 116 And oran <= 120 Then
sonuc = Sheets(sayfa).Cells(sat, 13).Value
ElseIf oran >= 121 And oran <= 125 Then
sonuc = Sheets(sayfa).Cells(sat, 14).Value
ElseIf oran >= 126 And oran <= 130 Then
sonuc = Sheets(sayfa).Cells(sat, 15).Value
End If
End If

If aranan = bulunan3 Then
sat = 7
If oran = 100 Then
sonuc = Sheets(sayfa).Cells(sat, 6).Value
ElseIf oran >= 90 And oran <= 94 Then
sonuc = Sheets(sayfa).Cells(sat, 7).Value
ElseIf oran >= 95 And oran <= 99 Then
sonuc = Sheets(sayfa).Cells(sat, 8).Value
ElseIf oran >= 101 And oran <= 105 Then
sonuc = Sheets(sayfa).Cells(sat, 10).Value
ElseIf oran >= 106 And oran <= 110 Then
sonuc = Sheets(sayfa).Cells(sat, 11).Value
ElseIf oran >= 111 And oran <= 115 Then
sonuc = Sheets(sayfa).Cells(sat, 12).Value
ElseIf oran >= 116 And oran <= 120 Then
sonuc = Sheets(sayfa).Cells(sat, 13).Value
ElseIf oran >= 121 And oran <= 125 Then
sonuc = Sheets(sayfa).Cells(sat, 14).Value
ElseIf oran >= 126 And oran <= 130 Then
sonuc = Sheets(sayfa).Cells(sat, 15).Value
End If
End If

If aranan = bulunan4 Then
sat = 8
If oran = 100 Then
sonuc = Sheets(sayfa).Cells(sat, 6).Value
ElseIf oran >= 90 And oran <= 94 Then
sonuc = Sheets(sayfa).Cells(sat, 7).Value
ElseIf oran >= 95 And oran <= 99 Then
sonuc = Sheets(sayfa).Cells(sat, 8).Value
ElseIf oran >= 101 And oran <= 105 Then
sonuc = Sheets(sayfa).Cells(sat, 10).Value
ElseIf oran >= 106 And oran <= 110 Then
sonuc = Sheets(sayfa).Cells(sat, 11).Value
ElseIf oran >= 111 And oran <= 115 Then
sonuc = Sheets(sayfa).Cells(sat, 12).Value
ElseIf oran >= 116 And oran <= 120 Then
sonuc = Sheets(sayfa).Cells(sat, 13).Value
ElseIf oran >= 121 And oran <= 125 Then
sonuc = Sheets(sayfa).Cells(sat, 14).Value
ElseIf oran >= 126 And oran <= 130 Then
sonuc = Sheets(sayfa).Cells(sat, 15).Value
End If
End If

If aranan = bulunan5 Then
sat = 9
If oran = 100 Then
sonuc = Sheets(sayfa).Cells(sat, 6).Value
ElseIf oran >= 90 And oran <= 94 Then
sonuc = Sheets(sayfa).Cells(sat, 7).Value
ElseIf oran >= 95 And oran <= 99 Then
sonuc = Sheets(sayfa).Cells(sat, 8).Value
ElseIf oran >= 101 And oran <= 105 Then
sonuc = Sheets(sayfa).Cells(sat, 10).Value
ElseIf oran >= 106 And oran <= 110 Then
sonuc = Sheets(sayfa).Cells(sat, 11).Value
ElseIf oran >= 111 And oran <= 115 Then
sonuc = Sheets(sayfa).Cells(sat, 12).Value
ElseIf oran >= 116 And oran <= 120 Then
sonuc = Sheets(sayfa).Cells(sat, 13).Value
ElseIf oran >= 121 And oran <= 125 Then
sonuc = Sheets(sayfa).Cells(sat, 14).Value
ElseIf oran >= 126 And oran <= 130 Then
sonuc = Sheets(sayfa).Cells(sat, 15).Value
End If
End If


End Function


firefox_37 16-01-2018 13:55

Halit Bey merhaba ,

Evet KAHVE rakamını getirdi. Tam da olması gerektiği gibi.
Fakat çikolataya herhangi bir rakam getirmedi.
Dosyanın son hali linktedir.

http://dosya.co/n5nkybhylic3/SATIŞ_T...AKRO.xlsm.html

halit3 16-01-2018 14:10

çikilotanın formülü bu olmalı

F35 HÜCRESİ
Kod:

=sonuc(F$34;L5)

firefox_37 16-01-2018 14:19

Halit Bey diğer grupların formüllerini ben doldurmak istiyorum.
RTD + TOZ formülü bu mu olmalu =sonuc(G$34;L5) sondaki L5 i neye göre yazıyoruz ?

halit3 16-01-2018 14:25

Kod:

sonuc(G$34;O5)
L5 Hücresi
diğeride
O5 hücresi değilmi

yani ilgili bölümlerin yüzdelik dilimleri

firefox_37 16-01-2018 15:00

Halit Bey ilgili bölümlerin yüzdelik bölümleri yatay gidiyor. Harflere göre verince Maggi'de tıkandım. Yukarıdan aşağı değil de sağdan sola bakıyor olması lazım yüzdelere.

halit3 16-01-2018 15:46

Excel seviyenizi bilmiyorum

şimdi

PRİM HAKEDİŞ TABLOSU sayfasında

yüzdelik dilimler bu hücrelerde değilmi

Kahve için I5 Hücresi ,
Çikolata için L5 Hücresi ,
RTD + TOZ için O5 Hücresi ,
Maggi için R5 Hücresi ,
Gevrek için F5 Hücresi ,

firefox_37 16-01-2018 16:01

Halit Bey çok teşekkürler , ben prim kriterleri sayfasına bakıyor sanıyordum.
Şimdi formülleri tüm Satış temsilcilerim için uygulayayım takılırsam eğer utanarak da olsa yardımınızı rica edeceğim.

Gerçekten çok teşekkürler.

halit3 16-01-2018 16:52

Formüller (sonuc fonksiyonu) PRİM HAKEDİŞ TABLOSU sayfasına bakıyor.
kod ise
GK Prim Kriteri sayfasına bakıyor.

firefox_37 07-02-2018 14:13

Halit Bey tekrar merhaba,

yardımlarınız sayesinde bu ay ki prim hesaplamalarının %90 nını hızlı bir şekilde yaptık.
Fakat ufak tekef düzenlemeler gerekiyor.

%131 ve üstü hakedişi olanları 0.00 TL olarak atıyor. %126 ve üzerinde bir kısıtlama olmasın ve primi son dilimden versin istiyorum.

Bunun için kod düzenle diyerek aşağıda ki gibi değişiklik yaptım fakat düzelmedi. Başka nerede düzeltme yapmam gerekiyor.


If aranan = bulunan1 Then
sat = 5
If oran = 100 Then
sonuc = Sheets(sayfa).Cells(sat, 6).Value
ElseIf oran >= 90 And oran <= 94 Then
sonuc = Sheets(sayfa).Cells(sat, 7).Value
ElseIf oran >= 95 And oran <= 99 Then
sonuc = Sheets(sayfa).Cells(sat, 8).Value
ElseIf oran >= 101 And oran <= 105 Then
sonuc = Sheets(sayfa).Cells(sat, 10).Value
ElseIf oran >= 106 And oran <= 110 Then
sonuc = Sheets(sayfa).Cells(sat, 11).Value
ElseIf oran >= 111 And oran <= 115 Then
sonuc = Sheets(sayfa).Cells(sat, 12).Value
ElseIf oran >= 116 And oran <= 120 Then
sonuc = Sheets(sayfa).Cells(sat, 13).Value
ElseIf oran >= 121 And oran <= 125 Then
sonuc = Sheets(sayfa).Cells(sat, 14).Value
ElseIf oran >= 126 And oran <= 199 Then
sonuc = Sheets(sayfa).Cells(sat, 15).Value
End If
End If

halit3 07-02-2018 18:36

Kod:

ElseIf oran >= 126 And oran <= 130 Then
yukarıdaki bölümü bulun tam 5 tane olması gerekiyor
aşağıdaki gibi 5 tanesinide yapın

Kod:

ElseIf oran >= 126 And oran <= 199 Then

firefox_37 08-02-2018 14:59

Halit Bey merhaba ,

5 grup içinde yaptım. Fakat yine otomatik getirmedi .

Excelin içinde bi güncelleme yapmama gerek var mı ?

firefox_37 08-02-2018 15:16

Pardon Halit Bey ,

Kod görüntüle dediğimde direk o sayfanın içinde açıyor yine. Module1 üzerini çift tıklatıp açılan sayfadaki kodlar üzerinde değişiklik yapınca düzeldi.

halit3 08-02-2018 18:03

Excelde Biraz ilerleme sağlamışsınız şimdi Modüle1 deki kodlar kalsın sayfadaki kodları silin

firefox_37 09-02-2018 12:51

Aynen Halit bey yazdığınız kodların ne anlama geldiğini kavradım. Sayfadaki kodları sildim.
Halit Bey şöyle bir sorunum var.

%99,5 üstünü %100 gibi görüyor hücrede noktadan sonra haneler kapalı olduğu için fakat prim hakedişinde %99 u veriyor.
Kodlarda yüzdeler düz rakam olarak gidiyor. Bunları 99.5 gibi rakamlara çevirsek çalışır mı ?

halit3 09-02-2018 14:49

Kod:

If aranan = bulunan1 Then
sat = 5
If oran = 100 Then
sonuc = Sheets(sayfa).Cells(sat, 6).Value
ElseIf oran >= 90 And oran <= 94 Then
sonuc = Sheets(sayfa).Cells(sat, 7).Value
ElseIf oran >= 95 And oran <= 99 Then
sonuc = Sheets(sayfa).Cells(sat, 8).Value
ElseIf oran >= 101 And oran <= 105 Then
sonuc = Sheets(sayfa).Cells(sat, 10).Value
ElseIf oran >= 106 And oran <= 110 Then
sonuc = Sheets(sayfa).Cells(sat, 11).Value
ElseIf oran >= 111 And oran <= 115 Then
sonuc = Sheets(sayfa).Cells(sat, 12).Value
ElseIf oran >= 116 And oran <= 120 Then
sonuc = Sheets(sayfa).Cells(sat, 13).Value
ElseIf oran >= 121 And oran <= 125 Then
sonuc = Sheets(sayfa).Cells(sat, 14).Value
ElseIf oran >= 126 And oran <= 199 Then
sonuc = Sheets(sayfa).Cells(sat, 15).Value
End If
End If

kodda 99,5 gibi değerler tanımlı değil ya 100 olacak yada 99 olacak

Kod:

If oran = 100 Then
bu bölümü aşağıdakiyle değiştir.

Kod:

If oran >99 And oran <= 100 Then

firefox_37 15-02-2018 12:12

Halit Bey ,

Adil ÖZER yani C18 satırında ki temsilcimin prim kriterlerini GK Prim Kriterdi değil de GT BIS Prim Kriterine bakarak almasını istiyorum.
Kodda nasıl bir değişiklik yapabiliriz.

Aynı şekilde C20 - C21 satırında ki temsilcileri de MT Prim Kriteri sayfasından , C28 satırında ki temsilci de MT Prim Kriteri A'dan alması lazım.
Bu kişilerin prim hesaplamaları için ayrı sheet mi açmam lazım.

Teşekkürler şimdiden.

firefox_37 26-02-2018 06:50

Merhaba Halit Bey ,

Böyle bir işlem yapmam mümkün müdür acaba ?

firefox_37 13-03-2018 12:39

Halit Bey merhaba ,

Dosyanın son hali linktedir. Yüzdük yüzdük kuyruğuna geldik. Son bir ricam olacak bozuk iade ve tahsilat rakamının otomatik gelmesi için nasıl bir kod yazmalıyız.

Yani "Prim Hakediş Tablosu"nda "V" sütünunda ki 0,34 hedefine bakıp "Y" sütününa bakıp
0,34 altında kalanlar için J35 sütününa 0 TL. 0,34 üstünde kalanlar için -100 TL yazmasını istiyorum.
Bu işlemi yaptıktan sonra tahsilat kısmı için yardımınızı rica edeceğim.
Şimdiden çok teşekkür ederim.
Saygılar.
http://dosya.co/sv5wdma6u57p/1SATIŞ_...AKRO.xlsm.html

halit3 13-03-2018 16:24

Siz bunu formül ile de yapabilirsiniz.

J35 hücresi için

Kod:

=EĞER((V5*10000)<34;0;-100)

firefox_37 14-03-2018 08:26

Halit Bey çok teşekkür ederim. Excel bilgim çok iyi olmadığı için bu gibi konularda eksik kalıyorum.

Son olarak tahsilat yani J35 sütünuna gelecek rakamlar için nasıl bir yol izlemeliyiz.
GT prim kriteri sayfasında Tahsilat performansı var. Buna göre %99-95 te kalanlara -200 , %94-90 altında kalanlara -300 , %89-0 altına -400 yazmasını istiyorum. %100 ve üzerine 0 TL yazacak. Şimdiden çok teşekkür ederim yardımlarınız için.

halit3 15-03-2018 13:01

kod:

Kod:

Function sonuc2(oran)

sayfa = "GK Prim Kriteri" 'ActiveSheet.Name

If oran = "" Then
Exit Function
End If
oran = Val(oran * 10000)

sat = 17

If oran >= 100 Then
sonuc2 = Sheets(sayfa).Cells(sat, 6)
ElseIf oran >= 95 And oran <= 99 Then
sonuc2 = Sheets(sayfa).Cells(sat + 1, 6)
ElseIf oran >= 90 And oran <= 94 Then
sonuc2 = Sheets(sayfa).Cells(sat + 2, 6)
ElseIf oran >= 1 And oran <= 89 Then
sonuc2 = Sheets(sayfa).Cells(sat + 3, 6)
End If

End Function

kodun kullanılışı

Kod:

=sonuc2(Y5)

firefox_37 16-03-2018 10:24

Halit Bey merhaba,
Sanırım yanlış anlattım. Y5 iade sütünu oluyor onu yaptık ve çalışıyor sıkıntı yok.
AH5 hücresine bakacak eğer %100 den büyükse 0 TL yazacak.
AH5 hücresine bakacak eğer %99-95 arası ise -200 TL yazacak. Eğer %94-90 arası ise -300 TL yazacak. Eğer %89 - 1 arası ise -400 yazacak.

GK prim kriteri sayfasında sat = 17 demişsiniz. sat = 18 olması lazım.

Satır 18i diğer kriterler gibi sağa doğru sıralamak daha mı doğru olur.

Teşekkürler tekrar.

halit3 16-03-2018 11:59

Veriler 17 satırdan başlıyor. E17 , F17 Dolu

kod
Kod:

Function sonuc2(oran)

sayfa = "GK Prim Kriteri" 'ActiveSheet.Name

If oran = "" Then
Exit Function
End If
oran = Val(oran * 100)
MsgBox oran
sat = 17

If oran >= 100 Then
sonuc2 = Sheets(sayfa).Cells(sat, 6)
ElseIf oran >= 95 And oran <= 99 Then
sonuc2 = Sheets(sayfa).Cells(sat + 1, 6)
ElseIf oran >= 90 And oran <= 94 Then
sonuc2 = Sheets(sayfa).Cells(sat + 2, 6)
ElseIf oran >= 1 And oran <= 89 Then
sonuc2 = Sheets(sayfa).Cells(sat + 3, 6)
End If

End Function


firefox_37 16-03-2018 12:17

Halit Bey merhaba ,

Linkte ki dosya da GK prim kriteri sayfasında bir değişiklik yaptım. Satır 18 e bakıp sağa doğru olan kriterlere göre kod yazarsak sanırım daha iyi olacak.

http://dosya.co/v3n03g6cu1l7/SON_SAT...AKRO.xlsm.html


Saat 11:01

Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.