Bu dosya, tarihlerin sütunlara doğru genişlediği ve ara satırlarda toplam bulunan bir tabloyu raporlamaya uygun, her satırı tek kayıt olan veritabanı yapısına çevirmek için hazırlanmış dört alternatif yöntemi içerir. Aynı kaynak tablo; Formül, VBA, Power Query ve Python ile ayrı sayfalarda dönüştürülür.
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir.
VBA sayfasında sonuç şu fonksiyon çağrısıyla alınır:
Python sayfasında ise dönüşüm şu çağrıyla yapılır:
Üç sayfada da H11 hücresinde SUM ile ara toplam hesaplanır.
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir.
Dosyanın içeriği
- Anasayfa: Yöntemlerin tanıtıldığı başlangıç sayfası.
- Formul: Kaynak tablo B2:K16 aralığındadır; dönüştürülmüş liste M2 hücresinden başlar ve tek bir dinamik dizi formülüyle üretilir.
- VBA: Aynı kaynak tablo ve M2 hücresindeki sonuç alanı; dönüşüm özel bir kullanıcı tanımlı fonksiyonla yapılır.
- PQ: Kaynak tablo (Ürün No, Açıklama, AraTarih, tarih başlıklı miktar sütunları) ve yanında Power Query sonucu olan M:S aralığı. Sonuç sütunları Ürün No, Açıklama, AraTarih ve Sevk Tarihi başlıklarını taşır.
- Python: Dönüşümün PY fonksiyonuyla yapıldığı sayfa.
Kullanılan formüller
Formul sayfasında M2 hücresindeki formül, LET, UNIQUE, TOCOL, REDUCE, LAMBDA, HSTACK, FILTER ve TAKE fonksiyonlarını birlikte kullanır. Her benzersiz ürün için satırlar süzülür, ilk dört sütun ile son dört sütun ayrılır ve sonuç "Ara Tarih", "Miktar" ve "Sevk Tarihi" başlıklarıyla alt alta birleştirilir. Bu formül Microsoft 365 sürümündeki dinamik dizi fonksiyonlarını gerektirir.VBA sayfasında sonuç şu fonksiyon çağrısıyla alınır:
=excelDestek(B2:K16;G2:J2)
=PY(0,0,B2:K16)
Makrolar
Module1 içindeki excelDestek fonksiyonu, veri alanını ve tarih başlıklarının bulunduğu alanı parametre olarak alır. Miktarı dolu olan her hücre için ürün bilgilerini, miktarı ve ilgili sevk tarihini yeni bir satıra yazar. "ARATarih : 20 Aug" biçimindeki ara toplam satırlarından ay kısaltması ve gün okunur; bu tarih dd.mm.yyyy biçiminde önceki kayıtların ara tarih alanına işlenir. Sonuç Transpose ile döndürülür. Kodda dosya silme ya da dış bağlantı yoktur. Fonksiyon, hücreye formül olarak yazıldığı için ayrıca çalıştırma gerektirmez.Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- Anasayfa sayfasından yöntemleri inceleyin.
- Formul, VBA ve Python sayfalarında kaynak tabloyu ve M2 hücresindeki sonucu karşılaştırın.
- PQ sayfasında sonuç tablosunu yenilemek için Veri sekmesinden Tümünü Yenile komutunu kullanın.
- Kendi verinizde kaynak aralığı ve tarih başlıkları aralığını formül veya fonksiyon çağrısında kendi tablonuza göre değiştirin.