• DİKKAT !

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak Dosya Yükleme tamamen ücretsizdir.

Çözüldü Saatlik Verinin En Yüksek Ve En Düşük 5 Değeri ilgili Saate Yazdırma

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

RDM

Yeni Üye
Katılım
4 Kas 2021
Mesajlar
8
Aldığı beğeni
6
Excel V
Office 2019 TR
Konu Sahibi
Merhaba
Bu tablo saatlik bazla spot elektrik fiyatlarıdır.
Tesisimizin arbitrajda çalışması için söyle bir kıyaslamaya ihtiyacım var. Gün içerisindeki en yüksek 5 PTF yi "I" sütununda ilgili saatin karşısına yazsın
Gün içerisindeki en yüksek 5 SMF yi "J" sütununda ilgili saatin karşısına yazsın
Gün içerisindeki en düşük 5 PTF yi "K" sütununda ilgili saatin karşısına yazsın
Bunu her 24 saat için aşağıya doğru devam ettirsin bu veriler yıllık bazdadır. Herhangi bir gündeki en düşük ve en yüksek değerleri bulmak işime yaramıyor. 365 günün her 24 saati için bunu aynı anda görmemiz gerekiyor.
Bunu nasıl yapabilirim yardımcı olur musunuz.
 
Çözüm
Selamlar,
Formülle çözüme alternatif olsun.... (Sayfa komple formüle edildi ve biçimlendirildi)
(Verilerinizi komple doldurdukça, hesaplamalarda yavaşlamalar olabilecektir)

** A3 hücresindeki Tarihte YIL değiştirin. Tarihler otomatik olarak 31.Aralık 23:00 e kadar A kolonunda yazılacaktır.
A4 hücresinden itibaren gün ve saatler
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
formülüyle yazdırılmakta.
Eğer yıl Artık yıl ise, 366. gün için ise A8763 hücresinden itibaren A8786 hücresine kadar
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
formülü kullanıldı.

** I - J - K Kolonları 8.786 ncı satıra kadar formüle edildi.... Bu kolonlarda tarafınızdan...
Her bir gün için saatler 00:00 da başlayıp 23:00 da mı bitiyor? Her bir gün için standart olarak 24 satır mı var?
 
Son düzenleme:
Aşağıdaki kodu bir module ekleyin ve çalıştırın.
02.01.21 tarihli en küçük PTF değerlerini örnek dosyada hatalı yazmışsınız gibi geldi, kontrol ediniz.
02.01.21 tarihli en büyük SMF leri kontrol edin. Kodda belki düzeltme ihtiyacı olabilir.


HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Ben sadece Turuncu bölge için yani bir günü formulize ettim siz sonraki günlere uyarlarsınız ,fakat 365 gün tek dosya içinde olacaksa, çalışma kasma yapabilir.
 
Selamlar,
Formülle çözüme alternatif olsun.... (Sayfa komple formüle edildi ve biçimlendirildi)
(Verilerinizi komple doldurdukça, hesaplamalarda yavaşlamalar olabilecektir)

** A3 hücresindeki Tarihte YIL değiştirin. Tarihler otomatik olarak 31.Aralık 23:00 e kadar A kolonunda yazılacaktır.
A4 hücresinden itibaren gün ve saatler
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
formülüyle yazdırılmakta.
Eğer yıl Artık yıl ise, 366. gün için ise A8763 hücresinden itibaren A8786 hücresine kadar
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
formülü kullanıldı.

** I - J - K Kolonları 8.786 ncı satıra kadar formüle edildi.... Bu kolonlarda tarafınızdan yapılacak herhangi bir şey yok.
I3 hücresinde (En Büyük 5 PTF)
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
J3 hücresinde (En Büyük 5 SMF)
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
K3 hücresinde (En küçük 5 PTF)
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.

** Tarafınızdan yapılacaklar ise, B-C-D-E kolonlarına Verilerinizi girmektir.
 
Çözüm
alternatif olarak recordset kullanılarak yapıldı
önce referanslardan Microsoft ActiveX Data Object x.x library eklenmeli
butona basınca veriler aktarılır
kod:
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
aşağıdaki kod sadece I,J ve K sütunlarını etkilerHTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Selamlar,
Formülle çözüme alternatif olsun.... (Sayfa komple formüle edildi ve biçimlendirildi)
(Verilerinizi komple doldurdukça, hesaplamalarda yavaşlamalar olabilecektir)

** A3 hücresindeki Tarihte YIL değiştirin. Tarihler otomatik olarak 31.Aralık 23:00 e kadar A kolonunda yazılacaktır.
A4 hücresinden itibaren gün ve saatler
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
formülüyle yazdırılmakta.
Eğer yıl Artık yıl ise, 366. gün için ise A8763 hücresinden itibaren A8786 hücresine kadar
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
formülü kullanıldı.

** I - J - K Kolonları 8.786 ncı satıra kadar formüle edildi.... Bu kolonlarda tarafınızdan yapılacak herhangi bir şey yok.
I3 hücresinde (En Büyük 5 PTF)
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
J3 hücresinde (En Büyük 5 SMF)
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
K3 hücresinde (En küçük 5 PTF)
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.

** Tarafınızdan yapılacaklar ise, B-C-D-E kolonlarına Verilerinizi girmektir.
Buradakine benzer ancak OFFSET formülü içermeyen bir yöntem denedim ben de, belki bu da alternatif olabilir.
Ben sizin veri setini önce tabloya formatına dönüştürdüm. Ardından Tarih(Gün) ve Satır adında 2 yardımcı sütun yarattım.

Amacımız aslında RANK formülünün içine 01.01.2021 gününün verilerini içeren 24 satırlık aralığı bulmak. Bu aralık da aslında saate göre değil güne göre değiştiği için Tarih sütunundaki veriden günü LEFT ile çıkardım. Yardımcı tablo sayfasındaki başlangıç satırında hata olmaması için Satır sütununda da hücre referansı (CELL formülü) yarattım.

RANK formülünün içindeki referans aralığı yardımcı tabloda PTF ve SMF sütunlarında belirtilen aralıkları getirmesi için INDIRECT ve XLOOKUP kullandım, xlookup'ın daha performanslı çalışması için yardımcı tablodaki tarih, ptf ve smf sütunlarını kapsayan Named range yarattım.

Bu exceldeki çözümde de sizin yapmanız gereken A-F sütunlarına veri girmek, gerisi otomatik olarak hesaplanacak.

Excel 365 ile gelen ek fonksiyonlarla beraber burada istenen çözüm yüzlerce alternatifi çıkabilir.
 
Konu Sahibi
Buradakine benzer ancak OFFSET formülü içermeyen bir yöntem denedim ben de, belki bu da alternatif olabilir.
Ben sizin veri setini önce tabloya formatına dönüştürdüm. Ardından Tarih(Gün) ve Satır adında 2 yardımcı sütun yarattım.

Amacımız aslında RANK formülünün içine 01.01.2021 gününün verilerini içeren 24 satırlık aralığı bulmak. Bu aralık da aslında saate göre değil güne göre değiştiği için Tarih sütunundaki veriden günü LEFT ile çıkardım. Yardımcı tablo sayfasındaki başlangıç satırında hata olmaması için Satır sütununda da hücre referansı (CELL formülü) yarattım.

RANK formülünün içindeki referans aralığı yardımcı tabloda PTF ve SMF sütunlarında belirtilen aralıkları getirmesi için INDIRECT ve XLOOKUP kullandım, xlookup'ın daha performanslı çalışması için yardımcı tablodaki tarih, ptf ve smf sütunlarını kapsayan Named range yarattım.

Bu exceldeki çözümde de sizin yapmanız gereken A-F sütunlarına veri girmek, gerisi otomatik olarak hesaplanacak.

Excel 365 ile gelen ek fonksiyonlarla beraber burada istenen çözüm yüzlerce alternatifi çıkabilir.
Merhaba çok teşekkür ederim emeğinize sağlık, ancak ben çalıştıramadım formülde hata veriyor.
 
Konu Sahibi
Selamlar,
Formülle çözüme alternatif olsun.... (Sayfa komple formüle edildi ve biçimlendirildi)
(Verilerinizi komple doldurdukça, hesaplamalarda yavaşlamalar olabilecektir)

** A3 hücresindeki Tarihte YIL değiştirin. Tarihler otomatik olarak 31.Aralık 23:00 e kadar A kolonunda yazılacaktır.
A4 hücresinden itibaren gün ve saatler
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
formülüyle yazdırılmakta.
Eğer yıl Artık yıl ise, 366. gün için ise A8763 hücresinden itibaren A8786 hücresine kadar
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
formülü kullanıldı.

** I - J - K Kolonları 8.786 ncı satıra kadar formüle edildi.... Bu kolonlarda tarafınızdan yapılacak herhangi bir şey yok.
I3 hücresinde (En Büyük 5 PTF)
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
J3 hücresinde (En Büyük 5 SMF)
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
K3 hücresinde (En küçük 5 PTF)
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.

** Tarafınızdan yapılacaklar ise, B-C-D-E kolonlarına Verilerinizi girmektir.
Çok teşekkür ederim emeğinize sağlık çok işime yaradı.
 
Konu Sahibi
Çok teşekkür ederim ilgilendiği
Aşağıdaki kodu bir module ekleyin ve çalıştırın.
02.01.21 tarihli en küçük PTF değerlerini örnek dosyada hatalı yazmışsınız gibi geldi, kontrol ediniz.
02.01.21 tarihli en büyük SMF leri kontrol edin. Kodda belki düzeltme ihtiyacı olabilir.


HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.

Çok teşekkür ederim ilgilendiğiniz için.
 
Konu Sahibi
Aşağıdaki kodu bir module ekleyin ve çalıştırın.
02.01.21 tarihli en küçük PTF değerlerini örnek dosyada hatalı yazmışsınız gibi geldi, kontrol ediniz.
02.01.21 tarihli en büyük SMF leri kontrol edin. Kodda belki düzeltme ihtiyacı olabilir.


HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
Çok teşekkür ederim ilgilendiğiniz için
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst