Soru Fiyat değiştirme

Suddedly

Altın Üye
Katılım
7 Ekim 2010
Mesajlar
209
Excel Vers. ve Dili
Excel 365
Excel 2019
Hayırlı cumalar hayırlı işler herkese. Benim bir fiyatlandırma sorunum var arkadaşlar. Yardımcı olursanız çok sevinirim. ekteki dosyada hammadde ve parametre olarak iki sayfa var. hammadde sayfasında girdiğim firma ve ürün çeşidine göre parametre sayfasından fiyat sütununa ilgili fiyatı getiriyor. Ancak şurada sorun var. Örnek verecek olursak bu ayın 8inden itibaren "ŞRY" firmasının 350 tl lik ürünü 450 tl ve 250 tl lik ürünü de 350 tl oldu. ancak ben bunu fiytat sütununa yazdığımda ayın 8inden önceki tüm kayıtları da yeni fiyattan alıyor. ben parametre sayfasında örnek olarak bu firmanın ilgili yeni fiyatlarını belirttim. Tabii parametre sayfasında fiyatın yanına bir tarih de belirtmek lazım. Ama ben nasıl yapacağımı bulamadım. Yardımcı olursanız sevinirim. Teşekkürler şimdiden.
 

Ekli dosyalar

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
Dosyanız eklidir.
DİZİ FORMÜL kullanılmıştır.
PARAMETRE sayfanızda Fiyat Başlıklarına Tarih girilmiştir.
En son değişiklik yaptığınız tarihi ve fiyatlarını değişiklik yaptığınız sütuna girin.
Değişmeyen fiyatları da aynı sütuna girmelisiniz.
Bu şekilde her fiyat değişikliğinde Bütün fiyatları bir önceki sütundan yeni sütuna kopyalayıp, sadece değişen fiyatları değiştirerek, dosyanızda fiyatları tarihlere göre kullanabilirsiniz.
İyi çalışmalar.
 

Ekli dosyalar

Suddedly

Altın Üye
Katılım
7 Ekim 2010
Mesajlar
209
Excel Vers. ve Dili
Excel 365
Excel 2019
Ustam çok teşekkür ederim ancak bir sıkıntı var sanki. Örneğin ben ikinci fiyat sütununun başına 08 ekim yazıyorum o tarihten sonra bu fiyatlar geçerli demek için. yeni fiyatları da yazıyorum ancak örneği şry - b - 1 ürünü 350 iken 450 tl olmuş ancak hammadde sayfasında bir üstteki şry m 1 olan 25 tl geliyor.
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
#2 No.lu Mesajda dosya yenilenmiştir.
Tekrar indirip deneyiniz.
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
Kullanılan Formül DİZİ FORMÜL'dür.
YATAYARA fonksiyonu temelinde HAMMADE sayfasındaki Tarihi (Örnek B34) PARAMETRE SAYFASINDAKİ Tarih Başlıklarında arar.

Formülün içindeki "KAÇINCI" fonksiyonu
Ürünü ararken Firma, Ürün ve Renk bilgilerini birletirmektedir.(G34&J34&K34 gibi)
Bu birleştirilen veri PARAMETRE SAYFASINDA birleştirilen sütunlarda aranır.(PARAMETRE!$A$1:$A$400&PARAMETRE!$B$1:$B$400&PARAMETRE!$C$1:$C$400 gibi)
Ve bulunduğu satırda hangi tarih ile ilgili ise o veriyi HAMMADDE sayfasında ilgili hücreye yazar.
 

Suddedly

Altın Üye
Katılım
7 Ekim 2010
Mesajlar
209
Excel Vers. ve Dili
Excel 365
Excel 2019
Hocam çok teşekkür ederim ilginize. Zahmet verdim. Şimdi merak ettiğim bir şey var. Bu dosya size gönderdiğim örnek kısaltılmış bir dosya. bu bile 900kb iken şimdi 2mb nin üzerine çıktı formül ile. gerçek dosya 5,55mb. Bunu uygularsam direk 8-9 lara çıkacak. Şu an bile geç açıyor. Zorlamadan yapmanın başka bir yolu var mıdır acaba?
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
Dosyayı kullanış şeklinizi bilmiyorum.
İlk akla gelen; Formüller/Hesaplama şeklini "ELLE" biçiminde kullanın, Hesaplama gerektiğinde "F9" tuşu ile hesaplama yapılabilir.(Tabiidir ki, büyük boyutta dosya olduğu için hesaplama uzun sürebilir.)
Bu şekilde sonuç işe yaramıyorsa; MAKRO ile çözüm de sağlanabilir.
Öncelikle, dosyayı, veri giriş kural ve sırasını, kopyalama/yapıştırma var mı/yok mu gibi bilgileri değerlendirmek gerekecektir.
Bu çerçevede ihtiyacınıza uygun olan şekilde çözüm bulunabilir.
 

Suddedly

Altın Üye
Katılım
7 Ekim 2010
Mesajlar
209
Excel Vers. ve Dili
Excel 365
Excel 2019
Hocam ben duruma göre elle yöntemini deneyeyim. Olmazsa dediğiniz gibi makro yöntemi için tecrübelerinize ve yardımınıza başvuracağım. Çok teşekkürler.
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
Tamamdır, sağ olun.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Merhaba.

Sayın @turist 'in müsadeleriyle, dizi formülü kullanmadan sonuç almaya yönelik alternatif çözüm ektedir.
Dizi formülü yerine normal formül kullanılmasını sağlayan şey belgede kullanılan AD TANIMLAMALARIdır.
.
 

Ekli dosyalar

Son düzenleme:

Suddedly

Altın Üye
Katılım
7 Ekim 2010
Mesajlar
209
Excel Vers. ve Dili
Excel 365
Excel 2019
Turist hocam dediğim gibi yönteminiz çalışıyor çok teşekkür ederim. Tabii dosya boyutunu da neredeyse iki katına çıkarıyor. Ömer Baran hocam sizin de yönteminiz çalışıyor teşekkür ederim. Sorun çözüldü. Ancak örneğin 8 ekimde bir malın fiyatı değiştiğinde diğer malların da fiyatlarını tekrar girmek gerekiyor yoksa zam gelmeyen fiyatları 8 ekimde belirtmediğimiz için gelmiyorlar. Bu da o tarihlerde bütün fiyatlar değişmiş izlenimi veriyor. Sanırım bunu engelleyecek bir şey yalnızca makro ile olabilir.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Cep telefonundan yazıyorum.
Tüm ürünlerin fiyatı, tüm tarihlerde değişmediyse en son fiyat değişim tarihindeki fiyata göre işlem yaptırmaya yönelik düzenlemeyi yapıp eklediğim dosyayı, uygun olduğumda yenilerim.
Belirttiğiniz şey elbetteki formül ile de MÜMKÜN.
Kolay gelsin.
.
 

Suddedly

Altın Üye
Katılım
7 Ekim 2010
Mesajlar
209
Excel Vers. ve Dili
Excel 365
Excel 2019
Çok teşekkürler iyi çalışmalar dilerim.
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
Turist hocam dediğim gibi yönteminiz çalışıyor çok teşekkür ederim. Tabii dosya boyutunu da neredeyse iki katına çıkarıyor. Ömer Baran hocam sizin de yönteminiz çalışıyor teşekkür ederim. Sorun çözüldü. Ancak örneğin 8 ekimde bir malın fiyatı değiştiğinde diğer malların da fiyatlarını tekrar girmek gerekiyor yoksa zam gelmeyen fiyatları 8 ekimde belirtmediğimiz için gelmiyorlar. Bu da o tarihlerde bütün fiyatlar değişmiş izlenimi veriyor. Sanırım bunu engelleyecek bir şey yalnızca makro ile olabilir.
Konuyu Makro ile çözümlenecek şekilde düzenlemek en sağlıklısı, bunun için zaman ve fırsat bulduğumda dosyanızı foruma eklerim.
 

Suddedly

Altın Üye
Katılım
7 Ekim 2010
Mesajlar
209
Excel Vers. ve Dili
Excel 365
Excel 2019
Çok sağolun hocam destekleriniz için. Hayırlı işler size de :)
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Merhaba.

Fiyat konusunda, tarih sütunlarında boş hücre olması durumuyla ilgili kanaatim o ki;
ya yine dizi formülü yöntemine başvurulacak ya da Sayın turist'in de belirttiği gibi makro kullanmak yoluna gidilecek.
Bu düşünceyle, belgedeki veri yoğunluğundan da bahsettiğinize göre makro ile çözüm önerisinde bulunayım dedim.
Aşağıdaki kod güncellendi. 17.10.2018 15:52
Rich (BB code):
Sub FIYAT_BUL()
Set h = Sheets("HAMMADDE"): Set p = Sheets("PARAMETRE"): h.[W:X].ClearContents
Application.Calculation = xlCalculationManual: Application.ScreenUpdating = False
hsonsat = h.Cells(Rows.Count, "I").End(3).Row: psonsat = p.Cells(Rows.Count, 1).End(3).Row
palan = "A2:C" & psonsat: psonsut = p.Cells(1, Columns.Count).End(xlToLeft).Column
paalan = "PARAMETRE!A2:A" & psonsat: pbalan = "PARAMETRE!B2:B" & psonsat
pcalan = "PARAMETRE!C2:C" & psonsat
For hsat = 44 To hsonsat
    kkriter = h.Cells(hsat, "K")
    If Not IsNumeric(kkriter) Then kkriter = """" & kkriter & """"
    psat = Evaluate("=SUMPRODUCT((" & pbalan & "=""" & h.Cells(hsat, "J") & """)*(" & pcalan & _
            "=" & kkriter & ")*(" & paalan & "=""" & h.Cells(hsat, "G") & """)*(Row(" & paalan & ")))")
    If psat = 0 Then
        h.Cells(hsat, "W") = "ÜRÜN YOK": h.Cells(hsat, "X") = "ÜRÜN YOK"
    Else
        tarihsut = WorksheetFunction.Match(h.Cells(hsat, 2), p.Range("A1:" & p.Cells(1, psonsut).Address(0, 0)), 1)
        If p.Cells(psat, tarihsut) = "" Then
            For psut = tarihsut To 4 Step -1
                If p.Cells(psat, psut) <> "" And p.Cells(1, psut) <= h.Cells(hsat, 2) Then
                    fiyat = p.Cells(psat, psut): h.Cells(hsat, "W") = fiyat: Exit For
                Else: h.Cells(hsat, "W") = "FİYAT YOK"
                End If
            Next
        Else: fiyat = p.Cells(psat, tarihsut): h.Cells(hsat, "W") = fiyat
        End If
    End If
        If IsNumeric(h.Cells(hsat, "W")) And h.Cells(hsat, "J") = "B" Then
            h.Cells(hsat, "X") = h.Cells(hsat, "W") * h.Cells(hsat, "T")
        ElseIf IsNumeric(h.Cells(hsat, "W")) And h.Cells(hsat, "J") <> "B" Then
            h.Cells(hsat, "X") = h.Cells(hsat, "W") * h.Cells(hsat, "L")
        Else: h.Cells(hsat, "X") = 0
        End If
Next
Application.Calculation = xlCalculationAutomatic: Application.ScreenUpdating = True
MsgBox "İŞLEM TAMAMLANDI.", vbInformation, "..:: Ömer BARAN ::.."
End Sub
 
Son düzenleme:

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
Sayın @Suddedly ,
Eklediğim dosyanızda, bazı düzenlemeler yapılmış ve tamamı makro ile çalışır hale getirilmiştir.
Dosyanızı verimli kullanabilmeniz için:
"PARAMETRE" sayfanızda Sütun başlıklarına Fiıyt değişkliği yapılacak "TARİH" girildikten sonra, sadece değiştirilen fiyatları yazmanız yeterli olacaktır.Fiyatlar kendiliğinden güncellenir, değiştirilmeyen fiyatlarda yeni tarihe otomatik taşınır, değişen fiyatlar "Kırmızı" ile renklendirilir.
Deneme yapmak için bu sayfada Başlığa bir geçerli bir tarih girip, sadece değişen fiyatları yazın. Sonra HAMMADDE sayfasına geçin.
"HAMMADDE" sayfasına geçtiğinizde sayfa otomatik olarak hesaplamalarını yapacaktır.Kontrol edebilirsiniz.
Bu sayfada yer alan bütün Formüller, makroda kullanılmıştır, sayfada sadece Formül sonuçları yer alacaktır.
Ayrıca bu sayfada bulunan "Fiyatla" butonu ile de Fiyat bulma ve diğer bütün hesaplamaları yaptırabilirsiniz.
Daha önce de belirttiğim gibi; sayfayı kullanış şekli ve verilerin yazılış durumunu bilmediğimiz için, HAMMADDE sayfasında sayfa hareketlerine bağlı olarak Makro kodlarında düzenleme yapılabilir.(Herhangi bir hücreye bir veri girildiğinde makro tetiklenebilir ...vb)
Dosyanızı inceleyiniz.
Farklı bir durum, ihtiyaç hasıl olduğunda ; yine Forum üzerinden bilgi veriniz.
İyi çalışmalar...
 

Ekli dosyalar

Suddedly

Altın Üye
Katılım
7 Ekim 2010
Mesajlar
209
Excel Vers. ve Dili
Excel 365
Excel 2019
Sayın @Suddedly ,
Eklediğim dosyanızda, bazı düzenlemeler yapılmış ve tamamı makro ile çalışır hale getirilmiştir.
Dosyanızı verimli kullanabilmeniz için:
"PARAMETRE" sayfanızda Sütun başlıklarına Fiıyt değişkliği yapılacak "TARİH" girildikten sonra, sadece değiştirilen fiyatları yazmanız yeterli olacaktır.Fiyatlar kendiliğinden güncellenir, değiştirilmeyen fiyatlarda yeni tarihe otomatik taşınır, değişen fiyatlar "Kırmızı" ile renklendirilir.
Deneme yapmak için bu sayfada Başlığa bir geçerli bir tarih girip, sadece değişen fiyatları yazın. Sonra HAMMADDE sayfasına geçin.
"HAMMADDE" sayfasına geçtiğinizde sayfa otomatik olarak hesaplamalarını yapacaktır.Kontrol edebilirsiniz.
Bu sayfada yer alan bütün Formüller, makroda kullanılmıştır, sayfada sadece Formül sonuçları yer alacaktır.
Ayrıca bu sayfada bulunan "Fiyatla" butonu ile de Fiyat bulma ve diğer bütün hesaplamaları yaptırabilirsiniz.
Daha önce de belirttiğim gibi; sayfayı kullanış şekli ve verilerin yazılış durumunu bilmediğimiz için, HAMMADDE sayfasında sayfa hareketlerine bağlı olarak Makro kodlarında düzenleme yapılabilir.(Herhangi bir hücreye bir veri girildiğinde makro tetiklenebilir ...vb)
Dosyanızı inceleyiniz.
Farklı bir durum, ihtiyaç hasıl olduğunda ; yine Forum üzerinden bilgi veriniz.
İyi çalışmalar...
Çok teşekkür ederim hocam size de. Çok güzel çalışmakta. Zahmet verdim sağolun hepiniz. :)
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Benim gönderdiğim makro ile çözüm önerisi kullanılarak istenilen sonuca ulaşılamadı mı?
 
Üst