[]
Excel Eğer sorusu
Tablo şuna benzer birşey;
C sütunu için formüller şu olmalı;
B1=x ise A1
B2 ve B1=x ise Ortalama(A1+A2)
B3,B2,B1=x ise Ortalama(A1+A2+A3)
B4,B3,B2=x ise Ortalama(A2+A3+A4)
B5,B4,B3=x ise Ortalama(A3+A4+A5), değilse son üç x olan b sütunun, a değerlerinin ortalaması yani Ortalama(A2+A3+A4)
Ortalama(A6+A4+A3)
Ortalama(A6+A4+A3)
Ortalama(A6+A4+A3)
Bu x sütunlarını Eğer ve Ve formülleri ile yapabiliyorum ama y sütunları için tekrar bir Eğer açıp içini ben seçmek istemiyorum kendisi B sütununda son üç x hücrelerinin yanındaki değerleri seçsin istiyorum nasıl yapabilirim?
C sütunu için formüller şu olmalı;
B1=x ise A1
B2 ve B1=x ise Ortalama(A1+A2)
B3,B2,B1=x ise Ortalama(A1+A2+A3)
B4,B3,B2=x ise Ortalama(A2+A3+A4)
B5,B4,B3=x ise Ortalama(A3+A4+A5), değilse son üç x olan b sütunun, a değerlerinin ortalaması yani Ortalama(A2+A3+A4)
Ortalama(A6+A4+A3)
Ortalama(A6+A4+A3)
Ortalama(A6+A4+A3)
Bu x sütunlarını Eğer ve Ve formülleri ile yapabiliyorum ama y sütunları için tekrar bir Eğer açıp içini ben seçmek istemiyorum kendisi B sütununda son üç x hücrelerinin yanındaki değerleri seçsin istiyorum nasıl yapabilirim?
Formül ile olmaz gibi geldi bana. Yukarı doğru istenen sayı kadar X sayılamayabilir.
Makro ile mümkün. İlgili kodu aşağı bırakıyorum. C1 ve C2'yi elle yazmanız gerekir. C3 ve sonrası için makro otomatik çalışır. İlk satırdaki 18 sayısını excel'deki verileriniz bittiği satır sayısı olacarak değiştirin. Yani 500 satır veri varsa o 18, 500 olacak.
For i = 3 To 18
sayac = 0
toplam = 0
j = i
Do Until sayac = 3
If Cells(j, 2) = "x" Then
sayac = sayac + 1
toplam = toplam + Cells(j, 1)
End If
j = j - 1
Loop
Cells(i, 3) = toplam / 3
Next i
Makro ile mümkün. İlgili kodu aşağı bırakıyorum. C1 ve C2'yi elle yazmanız gerekir. C3 ve sonrası için makro otomatik çalışır. İlk satırdaki 18 sayısını excel'deki verileriniz bittiği satır sayısı olacarak değiştirin. Yani 500 satır veri varsa o 18, 500 olacak.
For i = 3 To 18
sayac = 0
toplam = 0
j = i
Do Until sayac = 3
If Cells(j, 2) = "x" Then
sayac = sayac + 1
toplam = toplam + Cells(j, 1)
End If
j = j - 1
Loop
Cells(i, 3) = toplam / 3
Next i
- himmet dayi (29.12.21 19:51:29)
teşekkürler, denedim ama olmadı
- bartholomew87 (29.12.21 22:39:59 ~ 22:40:51)
Ben denedim, bende oldu. Ne hata verdi? Yardımcı olayım. İsterseniz Excel'i gönderin ona yazayım direkt makroyu.
- himmet dayi (30.12.21 09:09:54 ~ 09:10:28)
Kusura bakmayın daha önce bakamadım. Dosyayı buradan indirebilirsiniz:
usaupload.com
ya da mail de atabilirim nasıl uygunsa.
usaupload.com
ya da mail de atabilirim nasıl uygunsa.
- bartholomew87 (30.12.21 16:32:02)
Duyuruda verdiğiniz örnek ile gönderdiğiniz tablo aynı olmadığı için bu makroyu tabloya göre uyarlamadıysanız çalışmaması normal.
Makro eklenmiş tablo: usaupload.com
(Chrome indirmeyi engelleyebilir makro içerdiği için)
Makronun bu tabloya göre güncellenmiş hali:
For i = 4 To 35
sayac = 0
toplam = 0
j = i
Do Until sayac = 3
If Cells(j, 3) = "Green" Then
sayac = sayac + 1
toplam = toplam + Cells(j, 2)
End If
j = j - 1
Loop
Cells(i, 4) = toplam / 3
Next i
Makro eklenmiş tablo: usaupload.com
(Chrome indirmeyi engelleyebilir makro içerdiği için)
Makronun bu tabloya göre güncellenmiş hali:
For i = 4 To 35
sayac = 0
toplam = 0
j = i
Do Until sayac = 3
If Cells(j, 3) = "Green" Then
sayac = sayac + 1
toplam = toplam + Cells(j, 2)
End If
j = j - 1
Loop
Cells(i, 4) = toplam / 3
Next i
- himmet dayi (31.12.21 08:36:44)
Teşşekürler,
Aslında ben de; For i kısmını ve "Green" kısmını düzenlemiştim ama nedense
'If Cells(j, 2) = "Green" Then' bu kısımda uyarı alıyordum.
Aslında ben de; For i kısmını ve "Green" kısmını düzenlemiştim ama nedense
'If Cells(j, 2) = "Green" Then' bu kısımda uyarı alıyordum.
- bartholomew87 (31.12.21 11:21:33)
1