• DİKKAT !

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak Dosya Yükleme tamamen ücretsizdir.

Çözüldü Hücre Değerine Göre Gruplandırma Ve Ortalama

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

AHMET4615

Gold Üye
Katılım
11 May 2021
Mesajlar
400
Çözümler
1
Aldığı beğeni
113
Excel V
Office 2016 TR
Gold Bitiş
12 Nisan 2026
Konu Sahibi
A sütundaki sayıların G1 Hücresindeki değerine göre gruplara ayrılmasını aynı zamanda G1 Hücresindeki değere göre ortalama alınmasını istiyorum.
 
Grup derken ne demek isteniyor??
Örnek : 12 şer satır olarak mı gruplanacak. Ya da 12 sütun... Ya da 12 ye göre farklarına göre mi.... vs.

İstenilen sonuçları manuel yazarsanız soruyu biraz daha netleştirmiş olursunuz.
Soru, Şu haliyle bana bir anlam ifade etmiyor. Belki de sadece ben anlamıyorumdur. Diğer üyelerin cevaplarını bekleyebilirsiniz.
 
Hocam manuel olarak dosyaya eklerim
Çalışma sayfasının modül kısmına yapıştırın, sayfanın ismi yanlış ise düzeltin, G1hücre değerini değiştirip deneyin
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Range("G1")) Is Nothing Then
VeriGruplamaVeOrtalama
End If
End Sub

Sub VeriGruplamaVeOrtalama()
Dim ws As Worksheet
Dim veriRange As Range, hücre As Range
Dim grup1Ortalama As Double, grup2Ortalama As Double
Dim grup1Sayac As Integer, grup2Sayac As Integer

Set ws = ThisWorkbook.Sheets("Sayfa1")
Dim G1Degeri As Variant
G1Degeri = ws.Range("G1").Value

If IsNumeric(G1Degeri) Then
G1Degeri = CDbl(G1Degeri)
Else
MsgBox "G1 hücresinde sayısal bir değer bulunamadı!"
Exit Sub
End If

Set veriRange = ws.Range("A1:A100")

grup1Ortalama = 0
grup2Ortalama = 0
grup1Sayac = 0
grup2Sayac = 0

For Each hücre In veriRange
If IsNumeric(hücre.Value) Then
If hücre.Value < G1Degeri Then
grup1Ortalama = grup1Ortalama + hücre.Value
grup1Sayac = grup1Sayac + 1
Else
grup2Ortalama = grup2Ortalama + hücre.Value
grup2Sayac = grup2Sayac + 1
End If
End If
Next hücre

If grup1Sayac > 0 Then grup1Ortalama = grup1Ortalama / grup1Sayac
If grup2Sayac > 0 Then grup2Ortalama = grup2Ortalama / grup2Sayac

MsgBox "G1'den küçük olan grup ortalama: " & grup1Ortalama & vbCrLf & _
"G1'den büyük olan grup ortalama: " & grup2Ortalama
End Sub
 
365 için aşağıdaki şekilde deneyebilirsiniz. Değerleri G1 e göre bölüp, altta normal ORTALAMA işlevi kullanıldı. ( doğru anladıysam )

1700958301261.png
 
gruplanadırma kısmını pek anlayamadım manuel örnekleme ile açıklmak istermisiniz
 
Kontrol ediniz
 
Konu Sahibi
Hocam emeğinize sağlık ben yaptım fakat yardımcı sütun kullandım yardımcı sütun kullanmadan nasıl yapılır örnek dosya ektedir
 
Konu Sahibi
F3 E yapıştırıp aşağı çekin

=EĞERHATA(ORTALAMA(KAYDIR(DOLAYLI("A" &SATIR(A1)*($G$1)-($G$1-1));1;0;$G$1;1));"")
 
Çözüm
Konu Sahibi
F3 E yapıştırıp aşağı çekin

=EĞERHATA(ORTALAMA(KAYDIR(DOLAYLI("A" &SATIR(A1)*($G$1)-($G$1-1));1;0;$G$1;1));"")
Hocam teşekkür ederim size Allah razı olsun sizden selamlar Allah'a emanet olun Ayrıca destek ekibi olarak konum çözüldü fakat çözüldü diye onaylanmadı çok denedim olmadı yardımcı olur musunuz
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst