Renkli hücreleri koşula bağlı sayma ya da toplama

Katılım
23 Mayıs 2011
Mesajlar
37
Beğeniler
0
Excel Vers. ve Dili
excell 2003 türkçe
#1
Elimde yapısıyla oynayamayacağım bir tablo var. bu tablonun en alt kısmında belirtilen ürün tiplerini renktopla ya da renksay ile koşullu saydıramadım. bilgisi olan yardımcı olabilirse çok sevinirim.

Dosya biraz yavaş açılır, dosya içerisine de gerekli bilgileri belirttim
 

Ekli dosyalar

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
19,413
Beğeniler
90
Excel Vers. ve Dili
2013-Türkçe
#2
Merhaba,

İstediğiniz bu mu? (Dizi formülüdür)
Kod:
=TOPLA((D49:DA49=T56)*(D8:DA46))-TOPLA((D49:DA49=T56)*(renktopla(D8:DA46;38;0)))
 
Katılım
23 Mayıs 2011
Mesajlar
37
Beğeniler
0
Excel Vers. ve Dili
excell 2003 türkçe
#3
Merhaba,

İstediğiniz bu mu? (Dizi formülüdür)
Kod:
=TOPLA((D49:DA49=T56)*(D8:DA46))-TOPLA((D49:DA49=T56)*(renktopla(D8:DA46;38;0)))
bu formül ne yazık ki çalışmıyor. ilk olarak D8: DA8 ile sadece o satırda bulunan değerleri ölçmek istiyorum. Ama asıl formülün hatası şu oluyor, renktopla formulü baştaki T56 uyumuna bakmadan satırdaki bütün değerleri topluyor. renktopla formulünü bu forumda gördüğüm örneklere bakarak yazdım. acaba sorun oradan mı kaynaklanıyor?
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
19,413
Beğeniler
90
Excel Vers. ve Dili
2013-Türkçe
#4
Module ekleyin.
Kod:
Function S_Renktopla(Aralık As Range, Renkİndeksi As Integer, _
    sat As Range, deg As Range, Optional OfText As Boolean = False) As Double

    Dim rng As Range
    Dim OK As Boolean
    
    Application.Volatile True
    For Each rng In Aralık.Cells
        If Cells(sat.Row, rng.Column) = deg Then
            If OfText = True Then
                OK = (rng.Font.ColorIndex = Renkİndeksi)
            Else
                OK = (rng.Interior.ColorIndex = Renkİndeksi)
            End If
            If OK And IsNumeric(rng.Value) Then
                S_Renktopla = S_Renktopla + rng.Value
            End If
        End If
    Next rng
    
End Function
Formül:
Kod:
=TOPLA.ÇARPIM((D49:DA49=T56)*(D8:DA46))-S_Renktopla(D8:DA46;38;D49:DA49;T56;0)
İstediğiniz bu mu?

.
 

Korhan Ayhan

Moderatör
Yönetici
Katılım
15 Mart 2005
Mesajlar
25,114
Beğeniler
539
Excel Vers. ve Dili
OFFICE 2019 PRO TR
#6
Merhaba,

Ömer beyin verdiği çözümde tüm alan seçildiği için aradaki tarih içeren ve toplam olan hücrelerdeki değerlerde toplanıyor. Aralıkları dikkatli seçmek gerekiyor.

Ben de bir alternatif hazırladım.

Fonksiyonda belitilen aralıktaki renksiz hücrelerdeki değerleri topluyor. Sanırım bu toplam sizin istediğiniz satılmamış ürünlerin toplamıdır.

T57 hücresi için örnek kullanım;

Kod:
=K_RENK_TOPLA($D$8:$DA$31;-4142;$D$49:$DA$49;T$56)
Kod:
Option Explicit

Function K_RENK_TOPLA(Alan As Range, Renk As Integer, Kosul_Alani As Range, Kosul As Range)
    Dim Veri As Range, Kriter As Range
    
    Application.Volatile True
    
    For Each Veri In Alan
        If Veri.Interior.ColorIndex = Renk Then
            For Each Kriter In Kosul_Alani
                If Kriter.Column = Veri.Column Then
                    If Kriter.Value = Kosul.Value Then
                        K_RENK_TOPLA = K_RENK_TOPLA + Veri.Value
                    End If
                    Exit For
                End If
            Next
        End If
    Next
End Function
[code]
 
Üst