Sumproduct ve Indirect Formülünü Tablo yapısında kullanma

besen

Altın Üye
Katılım
23 Mart 2007
Mesajlar
743
Excel Vers. ve Dili
Microsoft Office Professional Plus 2019
İngilizce
Altın Üyelik Bitiş Tarihi
11-12-2029
Merhaba ekteki tabloda AAA ve BBB olarak aynı formatta iki tablom var.
Bunları Rapor sayfasına ayrı ayrı getiriyorum. Rapor1 sayfasında da B1 hücresinden Indirect formülünü kullanarak seçenekli olarak getiriyorum.
Benim istediğim bunu tablo formatında yani Rapor sayfasında uygulamak.

Bir de konuyla ilgili olarak Indirect formülünde referansları hücre içine "&"G2:G3" şeklinde yazıyoruz. Tabii kolon eklenince veya silinince burası sabit kaldığı için, tablo bozuluyor, bunu hücreye göre yazmak mümkün mü?
Teşekkür ederim.
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,112
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

RAPOR sayfasında B3 hücresine uygulayıp alta ve sağa doğru sürükleyiniz.

C++:
=SUMPRODUCT(--(OFFSET(INDIRECT("'"&LOOKUP(2;1/($B$1:B$1<>"");$B$1:B$1)&"'!A2:A1000");;MATCH("Grup";INDIRECT("'"&LOOKUP(2;1/($B$1:B$1<>"");$B$1:B$1)&"'!1:1");0)-1)=$A3);OFFSET(INDIRECT("'"&LOOKUP(2;1/($B$1:B$1<>"");$B$1:B$1)&"'!A2:A1000");;MATCH(B$2;INDIRECT("'"&LOOKUP(2;1/($B$1:B$1<>"");$B$1:B$1)&"'!1:1");0)-1))
 

besen

Altın Üye
Katılım
23 Mart 2007
Mesajlar
743
Excel Vers. ve Dili
Microsoft Office Professional Plus 2019
İngilizce
Altın Üyelik Bitiş Tarihi
11-12-2029
Teşekkür ederim, tabii ki yüzde yüz doğru çalışıyor ama bunun mantığını anlamam lazım.

=SUMPRODUCT(--(OFFSET(INDIRECT("'"&LOOKUP(2;1/($B$1:B$1<>"");$B$1:B$1)&"'!A2:A1000");;MATCH("Grup";INDIRECT("'"&LOOKUP(2;1/($B$1:B$1<>"");$B$1:B$1)&"'!1:1");0)-1)=$A3);OFFSET(INDIRECT("'"&LOOKUP(2;1/($B$1:B$1<>"");$B$1:B$1)&"'!A2:A1000");;MATCH(B$2;INDIRECT("'"&LOOKUP(2;1/($B$1:B$1<>"");$B$1:B$1)&"'!1:1");0)-1))

=SUMPRODUCT((Table14[[A2]:[A7]])*(Table1[Grup]=$A3)*(Table1[[#Headers];[A2]:[A7]]=E$2))
Bu formülde; (Table14[[A2]:[A7]]) Hesaplanacak Alanı
(Table1[Grup]=$A3) 1. Referans Aralığı
(Table1[[#Headers];[A2]:[A7]]=E$2) İkinci Referans Aralığı tanımlıyor, sizin formülde hangi alan nereyi tanımlıyor anlayamadım.
Bu örnekteki gibi her satır için farklı kriterler olabilir.
D2 - D8 arası gibi
       
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,112
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
A sütununda başlayan ve 1. Satırda başlıklar olan tüm tablolarınızda önerdiğim formülü kullanabilirsiniz.

Formülü değerlendir seçeneği ile formülü adım adım çalıştırıp içinde aldığı parametreleri irdeleyebilirsiniz.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,112
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
E3 hücresine uygulayıp sağa ve alta doğru sürükleyiniz...

C++:
=SUMPRODUCT(--(OFFSET(INDIRECT("'"&LOOKUP(2;1/($E$1:E$1<>"");$E$1:E$1)&"'!A2:A1000");;MATCH("Bordro Kampüs";INDIRECT("'"&LOOKUP(2;1/($E$1:E$1<>"");$E$1:E$1)&"'!1:1");0)-1)=E$2);--(OFFSET(INDIRECT("'"&LOOKUP(2;1/($E$1:E$1<>"");$E$1:E$1)&"'!A2:A1000");;MATCH("Tür";INDIRECT("'"&LOOKUP(2;1/($E$1:E$1<>"");$E$1:E$1)&"'!1:1");0)-1)=$A3);--IF($D3="";LEN(OFFSET(INDIRECT("'"&LOOKUP(2;1/($E$1:E$1<>"");$E$1:E$1)&"'!A2:A1000");;MATCH("Özelliği";INDIRECT("'"&LOOKUP(2;1/($E$1:E$1<>"");$E$1:E$1)&"'!1:1");0)-1))>=0;OFFSET(INDIRECT("'"&LOOKUP(2;1/($E$1:E$1<>"");$E$1:E$1)&"'!A2:A1000");;MATCH("Özelliği";INDIRECT("'"&LOOKUP(2;1/($E$1:E$1<>"");$E$1:E$1)&"'!1:1");0)-1)=$D3);OFFSET(INDIRECT("'"&LOOKUP(2;1/($E$1:E$1<>"");$E$1:E$1)&"'!A2:A1000");;MATCH($C3;INDIRECT("'"&LOOKUP(2;1/($E$1:E$1<>"");$E$1:E$1)&"'!1:1");0)-1))
 

besen

Altın Üye
Katılım
23 Mart 2007
Mesajlar
743
Excel Vers. ve Dili
Microsoft Office Professional Plus 2019
İngilizce
Altın Üyelik Bitiş Tarihi
11-12-2029
=SUMPRODUCT(--(OFFSET(INDIRECT("'"&LOOKUP(2;1/($E$1:E$1<>"");$E$1:E$1)&"'!A2:A1000");;MATCH("Bordro Kampüs";INDIRECT("'"&LOOKUP(2;1/($E$1:E$1<>"");$E$1:E$1)&"'!1:1");0)-1)=E$2);--(OFFSET(INDIRECT("'"&LOOKUP(2;1/($E$1:E$1<>"");$E$1:E$1)&"'!A2:A1000");;MATCH("Tür";INDIRECT("'"&LOOKUP(2;1/($E$1:E$1<>"");$E$1:E$1)&"'!1:1");0)-1)=$A3);--IF($D3="";LEN(OFFSET(INDIRECT("'"&LOOKUP(2;1/($E$1:E$1<>"");$E$1:E$1)&"'!A2:A1000");;MATCH("Özelliği";INDIRECT("'"&LOOKUP(2;1/($E$1:E$1<>"");$E$1:E$1)&"'!1:1");0)-1))>=0;OFFSET(INDIRECT("'"&LOOKUP(2;1/($E$1:E$1<>"");$E$1:E$1)&"'!A2:A1000");;MATCH("Özelliği";INDIRECT("'"&LOOKUP(2;1/($E$1:E$1<>"");$E$1:E$1)&"'!1:1");0)-1)=$D3);OFFSET(INDIRECT("'"&LOOKUP(2;1/($E$1:E$1<>"");$E$1:E$1)&"'!A2:A1000");;MATCH($C3;INDIRECT("'"&LOOKUP(2;1/($E$1:E$1<>"");$E$1:E$1)&"'!1:1");0)-1))
Çok büyüksünüz, çok borçlandım size.
Teşekkür ederim.
 
Üst