• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

SUMPRODUCT ile ilgili basit formül

Katılım
13 Eylül 2006
Mesajlar
35
Excel Vers. ve Dili
Excel 2007
ingilizce
Selam arkadaşlar,

Eminim buna benzer bir soru sorulmuştur ama bulamadım, bulduklarım da işimi görmedi,

sorum şu şekilde, ekte dosyada görüldüğü üzere Sheet 1 de veriler mevcut, benim istediğim sheet 2 ye Sheet1 deki "B" sutunun da olan değerlere sahip "C" sutundakilerin toplamanı Sheet2 ye yazdırmak, ve Sheet2 de Sheet1 deki "B" sutununda hangi değeri gösterdiğini de yazacak, ekte dosyada 2 tane örnek yaptım tabi ben formülsüz yaptım, Sheet2 de bu yaptığımı hangi formül ile yapabiliriz.

Teşekkür ederim.

Bu arada SUMPRODUCT diye başlık attım ama o olmaya da bilir tabi, aklıma o gelmişti.
 
Son düzenleme:
Aşağıdaki şekilde deneyin.
Kod:
=ETOPLA(Sheet1!B:B;Sheet2!A1;Sheet1!C:C)
 
Teşekkür ederim, bu formülle sheet 2 deki "B" sutununu yazdırabiliyoruz, peki sheet2 de "A" sutunu da otomatik olarak yazdırabilir miyim?
 
Sayın sathaner, ne yapmak istediğinizi bir örnekle açıklar mısınız?
 
Şöyle açıklayayım,

Sizin verdiğiniz formülü Sheet2 de "B" sutununa yazıyoruz, "A" sutunudaki değere göre B'ye Sheet1 deki toplamını alıyor, bunda sorun yok, ama A sutunundaki değeri manuel olarak giriyoruz, yani ekte dosyada görünen A sutunundaki değerleri de formül ile yazdırabilirmiyiz?

biraz daha açarsam, Sheet1 deki "B" sutununda bulunan değerleri Sheet2 de "A" sutununa tek olarak yazdırmak istiyorum.

umarım anlatabilmişimdir, ilginiz için teşekkür ederim.
 
Son düzenleme:
Formüllü çözümü olması gerek ama ben size kod ile bir çözüm buldum.

Kod:
Sub tek()
son = Sayfa1.[b65536].End(3).Row
For i = 2 To son
say = WorksheetFunction.CountIf(Sayfa1.Range("b" & i + 1 & ":" & "b" & son), Sayfa1.Cells(i, 2))

If say = 0 Then
k = k + 1
Cells(k, "a") = Sayfa1.Cells(i, 2)
End If
Next
End Sub
 
Şöyle açıklayayım,

Sizin verdiğiniz formülü Sheet2 de "B" sutununa yazıyoruz, "A" sutunudaki değere göre B'ye Sheet1 deki toplamını alıyor, bunda sorun yok, ama A sutunundaki değeri manuel olarak giriyoruz, yani ekte dosyada görünen A sutunundaki değerleri de formül ile yazdırabilirmiyiz?

biraz daha açarsam, Sheet1 deki "B" sutununda bulunan değerleri Sheet2 de "A" sutununa tek olarak yazdırmak istiyorum.

umarım anlatabilmişimdir, ilginiz için teşekkür ederim.

Dosyanız ekte.
.
 
@hamitcan ilgin için teşekkür ederim, kodu kullanamadım, sanırım excel im ingilizce olduğundan dolayı.

@yurttas size de çok teşekkür ederim, yapmış olduğunuz dosya işimi görecek, hala formülü anlamaya çalışıyorum :)
 
@yurttas üstad,

Sheet1 deki "E" sutunudaki formülleri B101 e kadar yapmışın, ne kadar uğraştursam onu değiştiremedim, bu formülü 1000 falan nasıl yaparım acaba?

tekrar teşekkür ederim.
 
E2'deki formülü:

=IF(SUMPRODUCT((B2:B1000<>"")*ISERROR(MATCH(B2:B1000;0)))<>0;INDEX(B2:B1000;MATCH(TRUE;ISERROR(IF(ISBLANK(B2:B1000);FALSE;MATCH(B2:B1000;;0)));0);1);"")

Yap&#305;p, CTRL+SHIFT'i bas&#305;l&#305; tutarken ENTER ile girin. Form&#252;l:

{=IF(SUMPRODUCT((B2:B1000<>"")*ISERROR(MATCH(B2:B1000;0)))<>0;INDEX(B2:B1000;MATCH(TRUE;ISERROR(IF(ISBLANK(B2:B1000);FALSE;MATCH(B2:B1000;;0)));0);1);"")}

&#351;eklini alacakt&#305;r.

E3 h&#252;cresine:

=IF(SUMPRODUCT(($B$2:$B$1000<>"")*ISERROR(MATCH($B$2:$B$1000;$E$2:E2;0)))<>0;INDEX($B$2:$B$1000;MATCH(TRUE;ISERROR(IF(ISBLANK($B$2:$B$1000);FALSE;MATCH($B$2:$B$1000;$E$2:$E2;0)));0);1);"")

girip, CTRL+SHIFT'i bas&#305;l&#305; tutarken, ENTER ile girin. Form&#252;l:

{=IF(SUMPRODUCT(($B$2:$B$1000<>"")*ISERROR(MATCH($B$2:$B$1000;$E$2:E2;0)))<>0;INDEX($B$2:$B$1000;MATCH(TRUE;ISERROR(IF(ISBLANK($B$2:$B$1000);FALSE;MATCH($B$2:$B$1000;$E$2:$E2;0)));0);1);"")}

&#351;eklini ald&#305;ktan sonra a&#351;a&#287;&#305;ya do&#287;ru istedi&#287;iniz kadar kopyalay&#305;n.


NOT:{} i&#351;aretlerini elle girerseniz form&#252;l &#231;al&#305;&#351;maz.


.
 
Bende farklı bir örnek ekleyeyim kullanıcı tanımlı ve fonksiyonludur

Sheet2'deki sarı alan Kullanıcı Tanımlı Fonksiyon ile mavi alan ise fonksiyonlar ile yapılmıştır.

Örnek ektedir.
 
Geri
Üst