Skip to main content

AccessTr.neT


Futbolcular İstatistiği

Futbolcular İstatistiği

Çözüldü #1
Futbolcuları Hesapla isimli linkini eklediğim dosyada bazı sütunlara formül uygulayamadım. Acaba ne yazılabilir? Yardımcı olan arkadaşlara teşekkür ederim. Dosya büyük olduğu için link eklemek zorunda kaldım. Örnek Dosya Linki
yyhy, 18-05-2009 tarihinden beri AccessTr.neT üyesidir.
Son Düzenleme: 19/11/2020, 18:33, Düzenleyen: yyhy.
Cevapla
#2
1. Bunu formül ile yapamazsınız kod yazılması gerekir.
2. Yapmak istediğiniz net anlaşılmıyor ve mantık hatası da içeriyor. Örneğin Ülkeler sayfası B sütununda ülke kaydı varken G sütununa yeniden ülke yazdırmak anlamsız, bir diğeri en çok kullanılan pozisyon diyorsunuz en başta Afganistan 4 ayrı pozisyonu var herbiri eşit en çok en az kriteri neye göre belirlenecek?
Cevapla
#3
Ülkeler sayfası B sütununda ülke isimleri var doğrudur, Futbolcular sayfası D sütunundaki ülkelere göre yine Futbolcular sayfasındaki L sütundaki ülkelerin almış oldukları pozisyonları formülle buldurup Ülkeler sayfasında G sütununa yazdırmak istiyorum. Örneğin 2,3,4 tane varsa onları da yine aynı hücreye birleştirerek formülle veya kodla getirebilir miyiz?
yyhy, 18-05-2009 tarihinden beri AccessTr.neT üyesidir.
Son Düzenleme: 20/11/2020, 16:15, Düzenleyen: yyhy.
Cevapla
#4
istediğiniz 2 sütunu yaptım sonuncu kaldı ama maalesef çok ağır çalışıyor
dilerim işinize yarar.
Maximum pozisyon
Public Function MaxPozisyon(Dgr As String) As String
Dim Sql As String 'Afghanistan
Dim ADO_RS As ADODB.Recordset
MaxPozisyon = "KAYIT YOK"

SQL = "SELECT TOP 1 [F12], count([F12])" & _
"FROM [Futbolcular$A3:L] " & _
"WHERE ([F4]='" & Dgr & "') " & _
"GROUP BY [F12] " & _
"ORDER BY count([F12]) DESC"

Set ADO_RS = New ADODB.Recordset

ADO_RS.Open SQL, ADO_CN, 3, 1

If ADO_RS.RecordCount = 0 Then GoTo skipfile:

ADO_RS.MoveLast
ADO_RS.MoveFirst
With ADO_RS
Do Until .EOF
MaxPozisyon2 = MaxPozisyon2 & "; " & ADO_RS(0)
.MoveNext
DoEvents
Loop
End With

MaxPozisyon = Trim(Mid(MaxPozisyon2, 2))
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
skipfile:
ADO_RS.Close
Set ADO_RS = Nothing
'Set WS = Nothing
End Function
En yaşlı fonksiyonu
Public Function EnYasli(Dgr As String) As String
Dim Sql As String 'Afghanistan
Dim ADO_RS As ADODB.Recordset
EnYasli = "KAYIT YOK"
Baglan
SQL = "SELECT Yasli.F4, Yasli.EnÇokF3, [Futbolcular$A3:l].F2 " & _
"FROM (SELECT [Futbolcular$A3:L].F4, Max([Futbolcular$A3:L].F3) AS EnÇokF3 " & _
"FROM [Futbolcular$A3:L] " & _
"GROUP BY [Futbolcular$A3:l].F4) as Yasli " & _
"INNER JOIN [Futbolcular$A3:L] ON ([Futbolcular$A3:l].F4 = Yasli.F4) AND " & _
"(Yasli.EnÇokF3 = [Futbolcular$A3:l].F3) AND (Yasli.F4 = [Futbolcular$A3:l].F4) AND (Yasli.EnÇokF3 = [Futbolcular$A3:l].F3) " & _
"WHERE (((Yasli.F4)='" & Dgr & "')) " & _
"ORDER BY Yasli.F4;"

Set ADO_RS = New ADODB.Recordset

ADO_RS.Open SQL, ADO_CN, 3, 1

If ADO_RS.RecordCount = 0 Then GoTo skipfile:

ADO_RS.MoveLast
ADO_RS.MoveFirst
With ADO_RS
Do Until .EOF
EnYasli2 = EnYasli2 & "; " & ADO_RS(2) & " - " & ADO_RS(1)
' Debug.Print EnYasli2
.MoveNext
DoEvents
Loop
End With

EnYasli = Trim(Mid(EnYasli2, 2))
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
skipfile:
ADO_RS.Close
Set ADO_RS = Nothing
End Function
.rar Futbolcuları Hesapla_hy.rar (Dosya Boyutu: 4,24 MB | İndirme Sayısı: 5)
Cevapla
#5
Sayın berduş emeğinize sağlık aynen formüllerle de bu şekilde çalıştı çözümü Pivot Tablo da buldum bitirince inşallah buradan forumda örnek olması hasabiyle ekleyeceğim. Çok teşekkür ederim.
yyhy, 18-05-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla
#6
çözümü bulmanıza sevindim pivotla yaptığınız dosyayı 4 gözle bekliyorum, pivotla ilgili pek bilgim yok mâlesef)
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da