sıralamanın değişik gelmesi

Katılım
6 Mart 2009
Mesajlar
133
Excel Vers. ve Dili
office 2007
merhaba arkadaşlar konu şu 150 sorum var 1 sınavda 35 soru soruyorum ikinci sınavda aynı 150 soru içersinden ama 1 sınavda geçen sorulardan ayrı soru getirebilecek bir formül olabilirmi
 

Ekli dosyalar

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,374
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Soruyu Fonksiyonlar bölümünde sormuşsunuz ama sanırım fonksiyonlarla yapmak biraz zor.

Makrolu Çözüm isterseniz aşağıdaki kodları kullanabilirsiniz.

Kod:
Sub SoruSec()
    Dim i       As Integer, _
        Sayı    As Integer, _
        c       As Range
        
   Application.ScreenUpdating = False
    
    For i = 2 To 36
    
        Do
            Randomize
            Sayı = Int((150 * Rnd) + 1)
            Set c = Range("A2:B36" & i + 1).Find(Sayı, LookIn:=xlValues, LookAt:=xlWhole)
        Loop While Not c Is Nothing
        
        Cells(i, "B") = Sayı
        
    Next i
    Range("B2:B36").Sort key1:=[B1]
    Application.ScreenUpdating = True
    MsgBox "İşlem tamamdır.....", vbInformation, "N. YEŞERTENER --> [URL="http://www.excel.web.tr/"]www.excel.web.tr[/URL]"
End Sub
 

Ekli dosyalar

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Bu şekilde işinize yarar mı bilmiyorum. Olmayanları sırası ile yazar.

B2 hücresine yazıp dizi formülüne ( ctrl + shift + enter ) çevirdikten sonra alt satırlara kopyalayınız..

Kod:
=İNDİS(SATIR($1:$150);KÜÇÜK(EĞER(EHATALIYSA(KAÇINCI(SATIR($1:$150);
  $A$2:$A$36;0));SATIR($1:$150));SATIRSAY($B$2:B2)))
.
 
Katılım
6 Mart 2009
Mesajlar
133
Excel Vers. ve Dili
office 2007
çok teşekkür ederim

sayın necdet bey ve ömer bey çok ilginize teşekkür ederim. necdet beyin gönderdiği çok güzel ömer bey sizinkide işimi görüyor sağolun.
 
Katılım
6 Mart 2009
Mesajlar
133
Excel Vers. ve Dili
office 2007
sayın necdet bey

c sütunundada 3. sınavım olsa ve 1. ve 2. sınavda çıkmayan soruları görmek istersem ne yapmalyım ?
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,374
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

1 ve 2. sınav soruları belli ise 3. sınav sonuçlarını C sütununda olduğunu varsayarsak yukarıdaki kodları şöyle yazmalı :

Kod:
Sub SoruSec()
    Dim i       As Integer, _
        Sayı    As Integer, _
        c       As Range
        
   Application.ScreenUpdating = False
    
    For i = 2 To 36
    
        Do
            Randomize
            Sayı = Int((150 * Rnd) + 1)
            Set c = Range("A2:[B][COLOR=red]C36[/COLOR][/B]" & i + 1).Find(Sayı, LookIn:=xlValues, LookAt:=xlWhole)
        Loop While Not c Is Nothing
        
        Cells(i, "[B][COLOR=red]C[/COLOR][/B]") = Sayı
        
    Next i
    Range("B2:B36").Sort key1:=[B1]
    Application.ScreenUpdating = True
    MsgBox "İşlem tamamdır.....", vbInformation, "N. YEŞERTENER --> [URL="http://www.excel.web.tr/"]www.excel.web.tr[/URL]"
End Sub
 
Katılım
6 Mart 2009
Mesajlar
133
Excel Vers. ve Dili
office 2007
çok teşekkür ederim ben her ikisini aynı alanda kullanıyorum çok işime yaradı diğerini başka bir düğmeye atadım böylelikle önce 2 sınav için sonra 3 sınav için soru bulabiliyorum
 
Katılım
6 Mart 2009
Mesajlar
133
Excel Vers. ve Dili
office 2007
Sayı = Int((150 * Rnd) + 1)
hani meraktan soruyorum 150 sorum olmasa değişsse bazen 50 soru üzerinde bazen 80 soru olsa basic alanına girmeden bir hücre belirlesem ve o hücrede yazan rakam sınırında bu soruları bulsa mesela k1 hücresine 80 yazsam 2.sınav ve 3 sınav sorularını buna göre baksa nasıl olur böylece biraz daha geliştirmiş oluruz
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,374
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Sayı = Int((150 * Rnd) + 1)

koddaki 150 yerine dediğiniz gibi K1 hücresini kullanacaksanız [K1], Range("K1") yada Cells(1, "K") yazabilirsiniz
 
Üst