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.
çok sayıda hücre için excel vba makrolarına başvurmak gerekir.
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
ç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
akcan
kullanıcısına yanıt
Teşekkür ederim, beni büyük bir zahmetten kurtardınız.