Excel'de karışık listeden bir sınıfı ayırma

Kodla Büyü

olcaysahan

Aktif Üye
Mesajlar
240
Arkadaşlar merhaba;
Örnek excel dosyasında sınav yüzdeliklerine göre sıralanmış karışık okul listesinde öğrencileri sınıflarına göre yeni bir listeye ayırmak istiyorum.
Sınıf seç hücresinde sınıfı değiştirdiğimde sağdaki liste güncellenecektir.

bu konu da yardımcı olabilecek arkadaşlara teşekkürler.
 

Ekli dosyalar

Sub Listele()
Dim ws As Worksheet
Dim h2Value As String
Dim lastRow As Long
Dim outputRow As Long
Dim i As Long

' Aktif sayfayı belirleyelim
Set ws = ThisWorkbook.ActiveSheet

' H2 hücresindeki sınıf bilgisi
h2Value = ws.Range("H2").Value

' Veri aralığındaki son satırı bul
lastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row

' Çıktının yazılacağı satır
outputRow = 2

' Satırları kontrol et
For i = 2 To lastRow
If ws.Cells(i, "C").Value = h2Value Then
ws.Cells(outputRow, "K").Value = ws.Cells(i, "B").Value ' Öğrenci Numarası
ws.Cells(outputRow, "L").Value = ws.Cells(i, "C").Value ' Sınıf
ws.Cells(outputRow, "M").Value = ws.Cells(i, "D").Value ' Adı Soyadı
ws.Cells(outputRow, "N").Value = ws.Cells(i, "E").Value ' Yüzdelik Dilim

' Çıktı için bir sonraki satıra geç
outputRow = outputRow + 1
End If
Next i

MsgBox "Listeleme tamamlandı.", vbInformation
End Sub
 
hocam chatgpt ye sordum:) sorununuz detaylı anlatın her türlü kodda yardımcı oluyor. size uygulama kısmı kalıyor sadece. Kolay gelsin.

"bir excel doyası var. öğrenci bilgileri var. 2 . satırdan başlıyor binlerce öğrenci. b2 okul numarası. c2 sınıf bilgisi, d2 de adı soyadı, e de yüzdelik dilimleri. bir düğme ye basınca bütün c sütünunu kontrol edecek h2 hücresinde ki veri ile eşleşince. eşleşen öğrenciyi k2 hücresinden başlayacak . k2 ye öğrenci numrasını, l2 sınıfını, m2 ye adı soyadını,n2 ye yüzelik dilimini yazacak. yani h2 hücresindeki sınıf bilgisine göre yebi liste yapacak bir makro lazım"
 
Sırasıyla K2, L2, M2, N2 hücrelerine aşağıdaki formülleri kopyalayın.
Formüller dizi formülleridir. Bu nedenle formülü girdikten sonra Excel yeni sürümler için "Enter", önceki sürümler için "Ctrl + Shift + Enter" tuşlayın.
Formülleri aşağı sürükleyerek kopyalayabilirsiniz. Düzenlemiş olduğum dosyayı ekliyorum.
Ayrıca seçilen sınıfa ait verilere yeşil dolgu yapmak üzere koşullu biçimlendirme ekledim.

K2 Formül =EĞERHATA( İNDİS($B$1:$B$100; KÜÇÜK( EĞER($H$2=$C$1:$C$100;SATIR($C$1:$C$100);""); SATIR()-1 ) ); "")
L2 Formül =EĞERHATA( İNDİS($C$1:$C$100; KÜÇÜK( EĞER($H$2=$C$1:$C$100;SATIR($C$1:$C$100);""); SATIR()-1 ) ); "")
M2 formül =EĞERHATA( İNDİS($D$1:$D$100; KÜÇÜK( EĞER($H$2=$C$1:$C$100;SATIR($C$1:$C$100);""); SATIR()-1 ) ); "")
N2 Formül =EĞERHATA( İNDİS($E$1:$E$100; KÜÇÜK( EĞER($H$2=$C$1:$C$100;SATIR($C$1:$C$100);""); SATIR()-1 ) ); "")
 

Ekli dosyalar

Son düzenleme:
Office 2019 ve üzeri veya office 365 varsa dinamik filtre fonksiyonu var

=FİLTRE(B:E;H2=C:C;"")
 

Ekli dosyalar

  • Sonuç Listesi.zip
    Sonuç Listesi.zip
    11.5 KB · Görüntüleme: 8
  • Ekran Alıntısı.webp
    Ekran Alıntısı.webp
    48 KB · Görüntüleme: 31
Geri
Üst