AccessTr.neT
Futbolcular İstatistiği - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Excel (https://accesstr.net/forum-microsoft-excel.html)
+--- Forum: Excel Cevaplanmış Soruları (https://accesstr.net/forum-excel-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Futbolcular İstatistiği (/konu-futbolcular-istatistigi.html)

Sayfalar: 1 2


Futbolcular İstatistiği - yyhy - 19/11/2020

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


RE: Futbolcular İstatistiği - atoykan - 20/11/2020

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?


RE: Futbolcular İstatistiği - yyhy - 20/11/2020

Ü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?


RE: Futbolcular İstatistiği - berduş - 25/11/2020

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



RE: Futbolcular İstatistiği - yyhy - 26/11/2020

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.


RE: Futbolcular İstatistiği - berduş - 26/11/2020

çözümü bulmanıza sevindim pivotla yaptığınız dosyayı 4 gözle bekliyorum, pivotla ilgili pek bilgim yok mâlesef)