FORMULÜ MAKROYA ÇEVİRME

bydogannn67

Altın Üye
Katılım
6 Ocak 2016
Mesajlar
220
Excel Vers. ve Dili
2010 türkçe
Altın Üyelik Bitiş Tarihi
03-09-2029
Merhabalar,

Aşağıdaki formülü çok sayıda kullandığımızdan excelde çok kasmaya sebep olmaktadır, bu formulu makroya uyarlıyabilirmiyiz

=TOPLA.ÇARPIM((D$2='Cari Hareket'!$C$10:$C$100000)*($B3='Cari Hareket'!$D$10:$D$100000)*(D$1='Cari Hareket'!$E$10:$E$100000)*('Cari Hareket'!$J$10:$J$100000))
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Aşağıdaki kod satırı seçili hücreye verdiğiniz işlemi uygulayıp, doğrudan sonucunu yazar:


ActiveCell = Evaluate("=SUMPRODUCT((R2C[-5]='Cari Hareket'!R10C3:R100000C3)*(R[-5]C2='Cari Hareket'!R10C4:R100000C4)*(R1C[-5]='Cari Hareket'!R10C5:R100000C5)*('Cari Hareket'!R10C10:R100000C10))")



Yeterli değilse örnek dosya paylaşmanızı öneririm.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Aşağıdaki kod satırı seçili hücreye verdiğiniz işlemi uygulayıp, doğrudan sonucunu yazar:
.....
....
Eğer orjinal dosyada söz konusu formülün yazıldığı her hücreye bunu uygularsak sonuçta hız açısından bir fark olacağını sanmıyorum çünkü; koddaki "Evaluate" fonksiyonu ile zaten orjinal Excel fonksiyonu haline getiriliyor.

Bence yapılması gereken iş;

1) Sumproduct, Sumif .... gibi aslında "Array" tipi olan fonksiyonları sayfada mümkün mertebe az kullanmak,

2) Fonksiyonun etki alanını sınırlamak (verilerin 100.000 satır olduğunu sanmıyorum) ve bunun için "dinamik alan" kullanmak,

olabilir.


.
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,258
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Alternatf olarak özet tablo kullanabilirsiniz. Ya da yardımcı sütun kullanarak ETOPLA ile bir nebze hız kazanabilirsiniz.
 
Üst