• DİKKAT

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

İç içe 2 fonksiyon

  • Konbuyu başlatan Konbuyu başlatan efem67
  • Başlangıç tarihi Başlangıç tarihi
Katılım
26 Aralık 2011
Mesajlar
164
Excel Vers. ve Dili
Office 2016
bir excel dosyasında 2 adet koşul var , buna göre 1 tanesini yaptım, süre koşulu sağlanmazsa puanı eksiltiyor genel puana yazıyor. Ancak Onun önünde intro süresi 00:30 dan büyük olursa 1 puan eksiltmesi lazım iki koşul iç içe hesaplama yapmıyor. İlginiz için şimdiden teşekkürler
 

Ekli dosyalar

Benim verdiğim formülü değiştirmişsiniz. Daha önce yüklediğim dosyada verdiğim formülü aşağıdakiyle değiştirirseniz sanıyoru doğru sonucu verir:

Kod:
=EĞER(C5>=$B$18;$C$18;D5-EĞER(B5>=$B$22;$C$22;0)-DÜŞEYARA(C5;$B$13:$C$17;2))

Burda yüklediğiniz dosya için ise aşağıdaki formülü kullanabilirsiniz:
Kod:
=EĞER(C5>=$B$19;$C$19;D5-EĞER(B5>=$B$23;$C$23;0)-DÜŞEYARA(C5;$B$14:$C$18;2))

Ayrıca yine bu dosyanızda 11. sırada introsu 00:31, süresi 13:00 ve ham puanı 90 olan durum için sonuç 89 olmalı demişsiniz. Ancak verdiğiniz şartlarda 11:01 ve daha fazla olanlardan 5 pua kesileceğini belirtmişsiniz. Bu durumda introdan 1 puan ve süreden de 5 puan olmak üzere 6 puan düşülüp 84 olması gerekmez mi?
 
yusuf bey çok teşekkür ederim yordum sizi Emeğinize Sağlık...
 
Formülle yan sütuna rakamla ve onun yanına sayısal değerini yazdırıyorum
=EĞER(P11="";"";RANK(P11;$P$11:$P$20;0))
=EĞER(Q11="";"";ARA(Q11;({1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16});({"BİRİNCİ";"İKİNCİ";"ÜÇÜNCÜ";"DÖRDÜNCÜ";"BEŞİNCİ";"ALTINCI";"YEDİNCİ";"SEKİZİNCİ";"DOKUZUNCU";"ONUNCU";"ONBİRİNCİ";"ONİKİNCİ";"ONÜÇÜNCÜ";"ONDÖRDÜNCÜ";"ONBEŞİNCİ";"ONALTINCI"})))
Diskalifiye yazısı çıktığı için hesaplama dışı kalıyor #değer! çıkıyor
#değer! çıktığında o hücreyi kırmızıya boyayabilirmiyim veya Diskalifiye yazısını diğer sütuna yazabilrimiiyim. Teşekkürler
 
=EÐER(P11="";

yerine aþaðýdaki gibi deneyin:

=EÐER(YADA(P11="";P11="DÝSKALÝFÝYE");
 
=eğer(yada(p11="";p11="diskalifiye");rank(p11;$p$11:$p$20;0))
yazdım ancak yine #değer! çıkıyor
=EĞER(YADA(Q11="";Q11="DİSKALİFİYE");ARA(Q11;({1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;#DEĞER!});({"BİRİNCİ";"İKİNCİ";"ÜÇÜNCÜ";"DÖRDÜNCÜ";"BEŞİNCİ";"ALTINCI";"YEDİNCİ";"SEKİZİNCİ";"DOKUZUNCU";"ONUNCU";"ONBİRİNCİ";"ONİKİNCİ";"ONÜÇÜNCÜ";"ONDÖRDÜNCÜ";"ONBEŞİNCİ";"ONALTINCI";"DİSKALİFİYE"})))
yazdım ancak yine #değer! çıkıyor
 
Son düzenleme:
Ben aşağıda verdiğiniz
=EĞER(P11="";"";RANK(P11;$P$11:$P$20;0))
formüle göre şöyle bir çözüm önermiştim:
=EÐER(YADA(P11="";P11="DÝSKALÝFÝYE");"";RANK(P11;$P$11:$P$20;0))
Ancak siz formülün
"";
kısmını yok etmiş ve
=eğer(yada(p11="";p11="diskalifiye");rank(p11;$p$1 1:$p$20;0))
haline getirmişsiniz.
 
Yusuf bey selamlar;
Bir Macro oluşturdum ilgili hücreyi temizlemesi için;
Macro çalışırken eminmisin evet hayır diye bir ekleme nasıl yapabilirim..
Sub TEMIZLE()
'
' TEMIZLE Makro
'

'
ActiveWindow.SmallScroll Down:=-9
Range("E11:M20").Select
Selection.ClearContents
With Selection.Interior
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Range("E11").Select
MsgBox "Yarışma Sonuç Tutanağı" & vbLf & "ESKİ VERİLER SİLİNDİ" & vbLf & "Copyrigh"
End Sub
 
Önceki sorun çözüldü mü?

Makro için select satırından önce aşağıdaki kodları ilave edip dener misiniz?

Sil=msgbox("Emin misiniz?", vbyesno)
if sil=vbyes then
(burada sizin kodlar devam edecek)
end if
end sub
 
Yusuf Bey ilginiz ve yardımlarınız için çok teşekkür ederim. İyiki Varsınız...
 
Yusuf Hocam selamlar; Bir problem oluştu şimdi;
Eğer 2 tane aynı puan oluştuğunda eşitlik bozma ilkesine göre
eşit olan 2 sütüna hesaplamayı elle girmek için görünür bir sütün daha eklemeyi nasıl yapabilirim.
 
Eşitlik bozma işlemi nasıl yapılacak, "eşitlik bozma ilkesi" nedir? Açıklarsanız belki ona göre çözüm oluştururuz.
 
Eşitlik varsa

Yusuf Hocam selamlar; Bir problem oluştu şimdi;
Eğer 2 tane aynı puan oluştuğunda eşitlik bozma ilkesine göre
eşit olan 2 sütüna hesaplamayı elle girmek için görünür bir sütün daha eklemeyi nasıl yapabilirim.
 

Ekli dosyalar

Son düzenleme:
Yusuf Hocam Merhabalar;
eğer komutuna 1. 2. 3. ler var ise; eğer değeri sağlıyorsa ilgili macroyu çalıştır nasıl deriz.
yani şunu birleştirmek istiyorum.
=EĞER($E5:$E10=2;"EŞİTLİKVAR";"EŞİTLİKYOK");AC MACRO ÇALIŞSIN")

AÇ MAKRO
Sub ACBAKEM()
'
' ACBAKEM Makro
'

'
Columns("F:I").Select
Selection.EntireColumn.Hidden = False
Range("O9").Select
End Sub
 
Yusuf Hocam Merhabalar;

Private Sub Worksheet_Change(ByVal Target As Range)
If Hakem7li.Range("Q11") = Hakem7li.Range("Q20") Then
Columns("S:V").EntireColumn.Hidden = False
Else
Columns("T:U").EntireColumn.Hidden = True
End If
End Sub

Bu kodu q11 ile q20 arasındaki ;Bu koşullar q11 ile q20 satırlarında aynı rakamlar 2 adet olursa
daha açıkçası eğer q11 ile q 20 arasında aynı sayılar var ise nasıl yapabilirm..
 
Örnek dosyanıza göre oluşturduğum aşağıdaki makroyu boş bir modüle yapıştırıp deneyiniz:

Kod:
Sub kontrol()
son = Cells(Rows.Count, 1).End(3).Row
a = 0
For i = 5 To WorksheetFunction.Max(5, son)
Cells(i, "s") = WorksheetFunction.CountIf(Range("E5:E" & son), Cells(i, "e"))
If WorksheetFunction.CountIf(Range("E5:E" & son), Cells(i, "e")) > 1 And Cells(i, 4) <> "DİSKALİFİYE" Then
a = a + 1
End If
Next
If a > 1 Then
Columns("G:H").Hidden = False
Else
Columns("G:H").Hidden = True
End If
End Sub
 
Yusuf Hocam Malesef çalışmadı ;

Aşağıdaki çalışıyor ancak sadece E5 İle E10 arası
Benim yapmak istediğim E5 ile E10 Arasında herhangi bir hücrede
aynı değer var ise olacak . Açıldığında da 2 aynı değere sahipler
hariç, değişmeyen diğer değerler G5 Ve H5 e otomatik geçecek..

Private Sub Worksheet_Change(ByVal Target As Range)
If Sayfa1.Range("E5") = Sayfa1.Range("E10") Then
Columns("G:H").EntireColumn.Hidden = False
Else
Columns("G:H").EntireColumn.Hidden = True
End If
End Sub

Sizi çok yordum farkındayım Şimdiden Teşekkürler...
 
Son düzenleme:
Verdiğiniz makro sayfada değişiklik olduğunda otomatik çalışır. Benimki ise kendiliğinden çalışmaz. Manuel olarak çalıştırmak gerekir. Çalıştırmak için sayfaya bir düğme ekleyip bu makroyu atamalısınız.
 
Geri
Üst