Arama butonu
Bu konudaki kullanıcılar: 1 misafir
3
Cevap
1660
Tıklama
0
Öne Çıkarma
Excel Mod fonksiyonu ve toplama
|
11 yıl
Teğmen
Konu Sahibi

Arkadaşlar excelde kısa yoldan bir işlem yapmak istiyorum. Elimde bir tablo var. Tablodaki sayılar karışık şekilde sıralanmış, bu sayıları tek ve çift olarak ayırıp tek olan toplam kaç tane sayı var onu görmek istiyorum. Bunun için tek bir formül var mıdır? Benim bildiğim şu şekilde bir formül oluşturmak gerekiyor.

=TOPLAM(MOD(A1;2)+MOD(B1;2)+MOD(C1;2)+mod...) şeklinde gidecek bu formül. Çok fazla sütun ve satır olduğu zaman nasıl bir formül yazılması gerekiyor yardımcı olursanız sevinirim.



A
11 yıl
Binbaşı

çok sayıda hücre için excel vba makrolarına başvurmak gerekir.

excelde ALT+F11 e basın. menüden insert / modüle tıklayın alttaki kodları ekleyin

tek veya çift sayıların sayısını bulmak için hücrede kullanacağınız formül
=rSay(hücre,tür)
tür olarak
0 -> çift sayı,
1 -> tek sayı
örnek => rsay=("A1:E2",1) => tek sayıların sayısı
örnek => rsay=("A1:E1",0) => çift sayıların sayısı
Function rSay(rangeA As Range, tür As Integer) 
' Tür
' 0 Çift sayı
' 1 Tek sayı

Dim arrayA As Variant
Dim i As Integer, j As Integer, artan As Integer
Dim sayı As Variant
arrayA = rangeA.Value


For i = 1 To rangeA.Rows.Count
For j = 1 To rangeA.Columns.Count
sayı = arrayA(i, j)
artan = sayı Mod 2
If artan = tür Then
rSay = rSay + 1
End If
Next
Next
End Function


Bu mesaja 1 cevap geldi.
A
11 yıl
Binbaşı

çift ya da tek sayıları toplayan formül ise rSAY formülüne çok benzer. kodlar aşağıda

tek veya çift sayıların TOPLAMını bulmak için hücrede kullanacağınız formül
=rToplam(hücre,tür)
tür olarak
0 -> çift sayı,
1 -> tek sayı
örnek => rToplam=("A1:E2",1) => tek sayıların toplamı
örnek => rToplam=("A1:E1",0) => çift sayıların toplamı

Function rToplam(rangeA As Range, tür As Integer) 
' Tür
' 0 Çift sayı
' 1 Tek sayı
Dim arrayA As Variant
Dim i As Integer, j As Integer, artan As Integer
Dim sayı As Variant
arrayA = rangeA.Value

For i = 1 To rangeA.Rows.Count
For j = 1 To rangeA.Columns.Count
sayı = arrayA(i, j)
artan = sayı Mod 2
If artan = tür Then
rToplam = rToplam + sayı
End If
Next
Next

End Function


Bu mesaja 1 cevap geldi.
|
11 yıl
Teğmen
Konu Sahibi

Teşekkür ederim, beni büyük bir zahmetten kurtardınız.




Bu mesajda bahsedilenler: @akcan
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.