• DİKKAT

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

Kosula Gore Listeden Toplam Almak

Katılım
21 Kasım 2012
Mesajlar
172
Excel Vers. ve Dili
2013 - TR & EN
Ekteki dosyada ayrintili acikladigim uzere, ornegin A1 hucresinden ILK "--" isareti olan hucrelere karsilik gelen B sutunundaki sayilarin toplamini D2 hucresine yazdirmak istiyorum. daha sonra ben D2 deki formulu asagiya surukledigimde ayni D3 hucresinde ise D2 hucresinde yapilan toplamin en son birakildigi hucreden itibaren A sutununda bir sonraki "--" isaretinin oldugu a sutunundakilere karsilik gelen B sutunundaki sayilarin toplaini elde etmek istiyorum. Cok tesekkur ederim bu konuda yardimci olabilecek arkadaslara
LINK>> http://s3.dosya.tc/server4/puqd11/hayaletinizi-soru2.xlsx.html
 
Dizi formülü deneyiniz.

CTRL+SHIFT+ENTER tuşlarına basarak formül girişini tamamlayınız.

Kod:
=EĞERHATA(TOPLA(DOLAYLI("B"&KÜÇÜK(EĞER(SAĞDAN($A$2:$A$1000;2)="--";SATIR($A$2:$A$1000));SATIRSAY(D$1:D1))+EĞER(SATIRSAY(D$1:D2)=2;0;1)&":B"&KÜÇÜK(EĞER(SAĞDAN($A$2:$A$1000;2)="--";SATIR($A$2:$A$1000));SATIRSAY(D$1:D2))));"")
 
Korhan Bey bu vermis oldugunuz formul cok guzel calisiyor sorunsuz.. Bir de sunu sorabilir miyim> bu calismada A sutununda "--" isareti yerine, solunda "[[" isareti ile baslayan herhangi bir hucre ile saginda "]]" isareti ile biten herhangi bir hucre arasindakilere karsilik gelen B hucresindeki rakamlarini toplamini verdirmek mumkun mudur? bu vermis oldugunz dizi formulune ufak bir ekleme ile olur saniyorum. cok tesekkur ederim, bu cevabi da alirsam sorunum cozulmus olacak.
 
Korhan Bey, vermis oldugunuz formule uzunca kafa yorup anladiktan sonra son soruma cozumu kendim bulmaya calistim. birinci kucuk olan ile ikinci kucuk olan arasindakileri toplayip, daha sonraki toplamda ise ucuncu kucukolan ile dorduncu kucuk olan arasindaki toplami bularak bu sekilde D sutununda islem yapiyoruz diye zannediyorum. Daha once bu sekilde kullanmadim hic bunu ogrenmeme yardimci oldugunuz icin ayrica tesekkur ederim. Ben baslangicta paylastiginiz kodu ufak degistirerek yaptim. Fakat hem baslangicta verdiginiz formulde hem de benim paylastigim bu formulde ortak kucuk bir sorun fark ettim. Yada vereceginiz yanit daha farkli olacakti ise, o da kabulumdur. benim formulum soyle "[["ve "]]" isaretleri arasindaki hucrelerin toplamlari icin:
Kod:
=EĞERHATA(TOPLA(DOLAYLI("B"&KÜÇÜK(EĞER(SOLDAN($A$2:$A$1000,2)="[[",SATIR($A$2:$A$1000)),SATIRSAY(D$1:d1))&":B"&KÜÇÜK(EĞER(SAĞDAN($A$2:$A$1000,2)="]]",SATIR($A$2:$A$1000)),SATIRSAY(D$1:d1)))),"")

Bahsettigim o ortak sorun ise, ornegin bu paylastigim formulde SADECE "[[" isareti gordugunde o isarete karsilik gelen hucreyi ve sonrasindakileri toplamaya tabi tutmuyor ta ki ben ne zaman "]]" isaretini koyarsam takip eden hucrede, "[[" ve "]]" isaretleri arasindakileri topluyor aynen beklendigi gibi. Acaba "[[" isaretini takip eden herhangi bir hucrede "]]" isaretini KOYMAMIS olsam da "[[" isaretinin oldugu hucre dahil sonrasindaki hucrelere karsilik gelen B sutunundaki sayilari toplasin, ne zaman ben "]]" isaretini koyarsam toplamayi o isarete karsilik gelen hucreye kadar yapsin. daha sonra yine ben "[[" isaretini koymamla beraber o toplama islemini "[[" isaretini koydugum hucreden itibaren baslatsin, yani D sutununda bana rakam gostersin "]]" isaretini gormeye gerek kalmaksizin.. cunku bu formulde toplam sonucu vermiyor "]]" isaretini koyana kadar. "]]" isareti yoksa zaten dolu olan satira kadar toplamayi yapsin, var ise o "]]" isaretinin oldugu hucreye kadar toplamayi yapsin. . bu mumkun mudur. uzun oldu biraz ama acik acik anlatayim dedim :))
 
Son düzenleme:
Deneyiniz...

Dizi formüldür.

Kod:
=EĞERHATA(TOPLA(DOLAYLI("B"&EĞERHATA(KÜÇÜK(EĞER(SOLDAN($A$2:$A$1000;2)="[[";SATIR($A$2:$A$1000));SATIRSAY(D$1:D1));KÜÇÜK(EĞER(SAĞDAN($A$2:$A$1000;2)="]]";SATIR($A$2:$A$1000));SATIRSAY(D$1:D1)-1))+EĞER(SATIRSAY(D$1:D2)=2;0;1)&":B"&EĞERHATA(KÜÇÜK(EĞER(SAĞDAN($A$2:$A$1000;2)="]]";SATIR($A$2:$A$1000));SATIRSAY(D$1:D1));10000)));"")
 
Bu şekilde deneyin...

Kod:
=EĞERHATA(TOPLA(DOLAYLI("B"&EĞERHATA(KÜÇÜK(EĞER(SOLDAN($A$2:$A$1000;2)="[[";SATIR($A$2:$A$1000));SATIRSAY(D$1:D1));KÜÇÜK(EĞER(SAĞDAN($A$2:$A$1000;2)="]]";SATIR($A$2:$A$1000));SATIRSAY(D$1:D1)-1))&":B"&EĞERHATA(KÜÇÜK(EĞER(SAĞDAN($A$2:$A$1000;2)="]]";SATIR($A$2:$A$1000));SATIRSAY(D$1:D1));10000)));"")
 
Merhaba Korhan Bey, formul sorunsuz calisiyor. bir de bu konunun basinda yine sizin paylastiginiz iz ilk formule kafa yorup biraz degistirdim kendime alternatif olmasi icin.Alternatif cozumler her zaman iyidir saniyorum sitede. cok tesekkur ederim yardimlariniz icin Korhan Bey>
Kod:
=EĞERHATA(TOPLA(DOLAYLI("B"&KÜÇÜK(EĞER(SOLDAN($A$2:$A$1000,2)="[[",SATIR($A$2:$A$1000)),SATIRSAY(D$1:D1))&":B"&EĞERHATA(KÜÇÜK(EĞER(SAĞDAN($A$2:$A$1000,2)="]]",SATIR($A$2:$A$1000)),SATIRSAY(D$1:D1)),10000))),"")
 
Ben son sorunuza çözüm üretirken ilk sorunuzla bağlantıı düşündüğüm için formülü uzatmıştım. Sizin yazdığınız formül daha kısa onu kullanabilirsiniz.
 
Geri
Üst