• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Sonu bilinmeyen toplamlarda oran

  • Konbuyu başlatan Konbuyu başlatan Maksim
  • Başlangıç tarihi Başlangıç tarihi
Katılım
21 Haziran 2007
Mesajlar
97
Excel Vers. ve Dili
Rusca 2003
Merhaba arakadaşlar.
Sql den veri çekiyorum. Excel-e gelen verilerin sonunda böyle bir funksyon vardır ki, veriler toplansın

Set rng = Cells(Rows.Count, 1).End(xlUp).Offset(1, 10)
rng.Formula = "=SUM(K5:K" & rng.Row - 1 & ")"

Set rng = Cells(Rows.Count, 1).End(xlUp).Offset(1, 12)
rng.Formula = "=SUM(M5:M" & rng.Row - 1 & ")"


Yani K ve M kolonlarında olan veri nerede biterse bitsin sonda toplansın.
Şimdi bu verilerden (toplamlardan) oran hesaplamak lazım.
Yanı M ve K kolonları nerede biterse birsin bunların oranları N kolonundakı son hücreye yazılsın. Örnek:
M50 = 52.83
K50=58
N50=9.79%

Şu şekilde denedim

Set rng = Cells(Rows.Count, 1).End(xlUp).Offset(1, 13)
rng.Formula = "=ABS(100-(Offset(1, 13)/Offset(1, 12)*100)(N5:N" & rng.Row - 1 & ")"
Malesef olmadı.
Bu konuda yarım ede bilirmisiniz?
 
Offset bildiğim kadarıyla dolaylı ifade oluyor ve bulunulan hücreye göre diğer hücrelerin konumunu belirliyor. K sütunu N'ye göre -3 (3 önceki sütun) ve M sütunu da N'ye göre -1 (1 önceki sütun) olduğundan ortalama formülünde K için (1,-3) M için de (1,-1) kullanılması gerekmez mi?

(Bunu makroyu nerdeyse hiç bilmeyen biri olarak yazıyorum, hatam varsa affola)
 
Offset bildiğim kadarıyla dolaylı ifade oluyor ve bulunulan hücreye göre diğer hücrelerin konumunu belirliyor. K sütunu N'ye göre -3 (3 önceki sütun) ve M sütunu da N'ye göre -1 (1 önceki sütun) olduğundan ortalama formülünde K için (1,-3) M için de (1,-1) kullanılması gerekmez mi?

(Bunu makroyu nerdeyse hiç bilmeyen biri olarak yazıyorum, hatam varsa affola)

Melesef olmadı :(
 
Peki şunu önereyim, dosyanıza ve size uyar mı bilmem ama toplamları ve oranı alta değilde üste alsanız nasıl olur? Makrosuz olarak örneğin

K1'e =topla(k2:k1000)

m1'e =topla(M2:m1000)

yazıp ortalamayı da N1'e yapsanız olmaz mı?
 
Merhaba Reşat Bey,

Şu kodları bir deneyiniz;
Kod:
[SIZE="2"]Sub Emre()
    Dim i As Integer
    i = Range("K65536").End(3).Row + 1
    Cells(i, "K") = WorksheetFunction.Sum(Range("K6:K" & Range("K65536").End(3).Row))
    Cells(i, "M") = WorksheetFunction.Sum(Range("M6:M" & Range("M65536").End(3).Row))
    Cells(i, "N") = Abs(100 - (Cells(i, "M") / Cells(i, "K") * 100))
    i = Empty
End Sub[/SIZE]
 
Geri
Üst