Excel Formül Sorusu Sor

Bir Excel formülüne dair sorunuz varsa, bu alanı kullanarak bize iletin.

Excel Makro Sorusu Sor

Bir Excel VBA koduna dair sorunuz varsa, bu alanı kullanarak bize iletin.

Genel Excel Sorusu Sor

Excel'in ön sayfasındaki FORMÜL haricinde olan sorularınızı buradan sorabilirsiniz.

Çözüldü Denemeye Girenleri Formülle Tespit Etme

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

merakli

Site Üyesi

Excel Versiyonu
Excel 2019
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhaba,
Örnek dosya ve görsellerle açıklamaya çalıştığım işlemi formülle nasıl yazabilirim?

SORU 01.webp


SORU 02.webp
 

Ekli dosyalar

  • Denemeye Girenleri Tespit Etmek.xlsx
    25 KB · Görüntüleme: 3
Çözüm
Selamlar,
formülünüze baktığımda,
Sonuçları 2 AYRI sayfadan değerlendirildiğinde problem olabilir...
Sonuçların birisine 1. sayfadan, diğerine 2. sayfadan baktığınızda şöyle bir problem olacaktır.

Örnekle anlatırsam,
Listenin birisinde VAR ve diğerinde YOK.
Örneğin Sözel için listede VAR ve Sayısal için listede YOK olsun. Sonuçta da, Sayısalda #YOK hatası verecektir.
Yani, Sözel de var olduğu için 1, Sayısalda olmadığı için #YOK olacaktır. Şimdi toplamlarına bakarsak,
Sözel + 2*Sayısal + 1 = 1 + 2*#YOK +1 = #YOK
şeklinde olup Hata verecektir. EĞERHATA yı, Sözel + 2*Sayısal + 1 toplamına uyguladığımızda da HATA yerine sonuçta Girmedi yazacaktır.
Oysa ki Sözel e girmiş ve Sayısala girmemiştir.

Bu durumda,
Yani sonuçlara 2...
Deneyiniz..

KAYDIR işlevi kullanılarak,

a - Listenizdeki gibi Türkçe - İnkılap - Din sıralamasıyla gidilecekse ve en sonda da Matematik ve Fen bulunacaksa
yani, test şıklarının bulunduğu alanlar
Sözel için (Türkçe - İnkılap - Din) =Liste!$G$5:$AT$19
Sayısal için (Matematik ve Fen) = Liste!$BE$5:$CR$19
formülde değerlendirilecekse,
Rapor Sayfası F2 hücresine
Kod:
Görüntülemek için giriş yapmalısınız.
(1 satır)
yazın aşağıya doğru kopyalayın.

b - Sayısal ve sözel dersleri listenizdeki gibi olmayabilecekse, yani Örneğin, Türkçe - Matematik - Din - Fen - İngilizce - İnkılap gibi karışık sırada olabilecekse, bu durumda komple alan değerlendirilmelidir. Yani Liste!$G$5:$CR$19 alanı komple ele alınmalı ve Liste!$G$1:$CR$1 de yazılan derslerin Sayısal ya da Sözel olma durumları da değerlendirilmelidir. Formül de uzayacaktır doğal olarak...
Rapor Sayfası F2 hücresine
Kod:
Görüntülemek için giriş yapmalısınız.
(1 satır)
yazın aşağıya doğru kopyalayın.

Not :
1 - Sıralamalı Öğrenci listesi (yani, sınıflar bazındaki Rapor Sayfası A2 : D16 aralığındaki liste) için herhangi bir işlem yapılmadı. Liste VAR olarak varsayıldı.
2 - Formüllerdeki EĞERHATA, Rapor sayfasındaki Öğrenci Listesindeki Okul No, Liste Sayfasındaki Okul No da bulunmuyorsa durumu içindir. Mutlaka bulunacak diyorsanız, EĞERHATA işlevine gerek yoktur.
 
Önceki mesajıma,
Resimde de görüleceği üzere, değerlendirme için AYNI yöntem kullanılmak üzere, KAYDIR, İNDİS ve Excel365 komple dökülmeli olarak işlemlerinin olduğu çözümlerin de bulunduğu dosya ektedir. İncelersiniz.
40.webp
 

Ekli dosyalar

  • Denemeye Girenleri Tespit Etmek.xlsx
    30.6 KB · Görüntüleme: 2
@52779 Hocam. Teşekkür ederim. Alternatifler içinde teşekkür ederim.
Ders sırası sabit. Öğrenci sıralaması değişebiliyor.
Formülleri deniyorum olayı anlamak ve öğrenmek adına.
ELEMAN formülünü hiç kullanmamıştım. Bu şekilde onu da sayenizde öğrenmiş oldum.
Konuyu bir süre kapatmıyorum.

Hem formülleri çalışırken kafama oturmayan bir şey olursa ya da değişiklik olursa bu kısımları sorabilmek adına

Hem de alternatif başka kullanımlar gelirse o yöntemleri de öğreneyim düşüncesiyle.

Aradığım formülleri çabuk bulmak/ulaşmak adına gmail den bir mail açıp ona her formülü kendi kendime maille gönderiyorum başlığa ve içeriğine de bu formüle ulaşacağım bilgiler yazıyorum. Kullanmak ya da buna uygun başka işler yapmak istediğimde mail arama kısmından örneğin ELEMAN yazıp aratıyorum. Hemen aradığım formüle ulaşabiliyorum. Başka türlü aradığımda onu bulabilmek bazen mümkün olmuyor :)
 
Ben teşekkür ediyorum..
ELEMAN işleviyle, formülde, aynı formül parçacıklarının tekrarlanması önlenmiş oluyor bir nevi.
Örnek olarak, formülde
TOPLA.ÇARPIM(--(KAYDIR(Liste!$G$5:$AT$19;KAÇINCI(C2;Liste!$C$5:$C$19;0)-1;;1)<>""))>0)
ile, Sözel derslerden ŞIK işaretlenmiş olanların adetleri hesaplanıp sonuçta > 0 ile Doğru ya da yanlış sonucu döndürülüyor.
Şimdi bu sözel sonucuna Sözel adı verelim.
Aynı şekilde
TOPLA.ÇARPIM(--(KAYDIR(Liste!$BE$5:$CR$19;KAÇINCI(C2;Liste!$C$5:$C$19;0)-1;;1)<>""))>0
ile de Sayısal için doğru Yanlış bulunuyor. Buna Da Sayısal adı verelim.

EĞER ile yapıyı kurmaya çalışsak
=EĞER(Sözel>0;EĞER(Sayısal>0;"Girdi";"Sayısala Girmedi");EĞER(Sayısal>0;"Sözele Girmedi";"Girmedi"))
şeklinde formüle ederiz. Burada EĞER(Sayısal>0 ile Sayısal adını verdiğimiz formül parçasını 2 defa kullanmış olacağız.

ELEMAN ile şöyle yapıyoruz.
ELEMAN(Sözel+2*Sayısal+1;"Girmedi";"Sayısala Girmedi";"Sözele Girmedi";"Girdi")
Sözel 1 ya da 0 (doğru ya da Yanlış)
Sayısal 1 ve 0 , ancak 2 ile çarpıyoruz. Yani sonuçta 2 ve 0 elde ediyoruz.
Tüm durumlara baktığımızda
Sözel + 2*Sayısal+1 = {1;2;3;4} olarak 1 den 4 e kadar değer üretir.
ELEMANın diğer parametreleri de sırasıyla 1 : Girmedi, 2 : Sayısala girmedi, 3: Sözele Girmedi ve 4 : Girdi olmakta
Sonuçta Sözel + 2* Sayısal +1 ile kaç değerini buluyorsak karşılığını yazacaktır.

Bunu ARA işleviyle de yapabilirsiniz.
Yani
=ARA(Sözel + 2* Sayısal +1;{1;2;3;4};{"Girmedi";"Sayısala Girmedi";"Sözele Girmedi";"Girdi"})

Bu durumda da Sözel + 2* Sayısal +1 değerini {1;2;3;4} dizisinde kaçıncı olduğuna bakar ve bulduğu kaçıncı değerini {"Girmedi";"Sayısala Girmedi";"Sözele Girmedi";"Girdi"} dizisindeki sırasında arar ve onu yazar.

aynı şekilde İNDİS ile de yapabilirsiniz.
=İNDİS({"Girmedi";"Sayısala Girmedi";"Sözele Girmedi";"Girdi"};Sözel + 2* Sayısal +1)

İşte basitçe açıklaması bu olabilir...
 
Aslında sizin örnekteki kodları aşağıdaki yapıya da uyarlamaya çalışıyordum.
İki farklı yapı var.
Diğeri de bu şekilde bir yapıda ve onda da Yine "Girmedi";"Sayısala Girmedi";"Sözele Girmedi";"Girdi" sonuçları alınıyor.
Bu yapıda farklı bir yol mu izlenmeli.
Normalde benim formülüm var ama çok çok uzun ve amatörce

SORU 001.webp



SORU 002.webp
 

Ekli dosyalar

  • Denemeye Girenleri Tespit Etmek - 2.xlsx
    17.3 KB · Görüntüleme: 1
Ben teşekkür ediyorum..
ELEMAN işleviyle, formülde, aynı formül parçacıklarının tekrarlanması önlenmiş oluyor bir nevi.
Örnek olarak, formülde
TOPLA.ÇARPIM(--(KAYDIR(Liste!$G$5:$AT$19;KAÇINCI(C2;Liste!$C$5:$C$19;0)-1;;1)<>""))>0)
ile, Sözel derslerden ŞIK işaretlenmiş olanların adetleri hesaplanıp sonuçta > 0 ile Doğru ya da yanlış sonucu döndürülüyor.
Şimdi bu sözel sonucuna Sözel adı verelim.
Aynı şekilde
TOPLA.ÇARPIM(--(KAYDIR(Liste!$BE$5:$CR$19;KAÇINCI(C2;Liste!$C$5:$C$19;0)-1;;1)<>""))>0
ile de Sayısal için doğru Yanlış bulunuyor. Buna Da Sayısal adı verelim.

EĞER ile yapıyı kurmaya çalışsak
=EĞER(Sözel>0;EĞER(Sayısal>0;"Girdi";"Sayısala Girmedi");EĞER(Sayısal>0;"Sözele Girmedi";"Girmedi"))
şeklinde formüle ederiz. Burada EĞER(Sayısal>0 ile Sayısal adını verdiğimiz formül parçasını 2 defa kullanmış olacağız.

ELEMAN ile şöyle yapıyoruz.
ELEMAN(Sözel+2*Sayısal+1;"Girmedi";"Sayısala Girmedi";"Sözele Girmedi";"Girdi")
Sözel 1 ya da 0 (doğru ya da Yanlış)
Sayısal 1 ve 0 , ancak 2 ile çarpıyoruz. Yani sonuçta 2 ve 0 elde ediyoruz.
Tüm durumlara baktığımızda
Sözel + 2*Sayısal+1 = {1;2;3;4} olarak 1 den 4 e kadar değer üretir.
ELEMANın diğer parametreleri de sırasıyla 1 : Girmedi, 2 : Sayısala girmedi, 3: Sözele Girmedi ve 4 : Girdi olmakta
Sonuçta Sözel + 2* Sayısal +1 ile kaç değerini buluyorsak karşılığını yazacaktır.

Bunu ARA işleviyle de yapabilirsiniz.
Yani
=ARA(Sözel + 2* Sayısal +1;{1;2;3;4};{"Girmedi";"Sayısala Girmedi";"Sözele Girmedi";"Girdi"})

Bu durumda da Sözel + 2* Sayısal +1 değerini {1;2;3;4} dizisinde kaçıncı olduğuna bakar ve bulduğu kaçıncı değerini {"Girmedi";"Sayısala Girmedi";"Sözele Girmedi";"Girdi"} dizisindeki sırasında arar ve onu yazar.

aynı şekilde İNDİS ile de yapabilirsiniz.
=İNDİS({"Girmedi";"Sayısala Girmedi";"Sözele Girmedi";"Girdi"};Sözel + 2* Sayısal +1)

İşte basitçe açıklaması bu olabilir...

@52779 Hocam Teşekkür ederim. Ufkumu açtınız.
 
Gonderdiğiniz dokumanda,
Sözel için 3. satıra bakın... Sözele girmemiş çünkü hepsi BOŞ
Bu durumda şunu yapabilirsiniz.
=UZUNLUK(YERİNEKOY(G3&H3&I3;"X";""))
Türkçe İnkılap ve Din birleştirilip X yerine "" konularak uzunluğuna bakın.
Sonuç = 0 olacak.
Yani Sözele Girmedi.
Sayısala bakalım
=UZUNLUK(YERİNEKOY(K3&L3;"X";""))
Bu bize 33 değerini verecek. Yani 33 adet işaretlenmiş ŞIK var. Sayısala Girdi.
 
Normalde benim formülüm var ama çok çok uzun ve amatörce
Bence böyle demeyin.
Çözüme gidiliyorsa her zaman MÜKEMMEL dir. Uzun ya da kısa olabilir. Bugün uzundur yarın kısalabilir.
Kaldı ki, gönderdiğiniz dokumandaki çözüm, çok zekice bana göre.
Evet Excel2019 da Metinbirleştir işlevi var. Uygulanabilir. Ama 2016 da ve öncesinde birleştirme işlemi yok.
Yani
sizdeki BOş yerine X yazmadan birleştirme yapıp uzunluk bakarsanız.
Bir önceki dosyanızda Liste sayfası 6. satır için (Can ATAK)
=UZUNLUK(METİNBİRLEŞTİR("";;G6:AT6))
Bu bize 0 değeri verecektir. Yani Sözele Girmedi.
Sayısala bakın
=UZUNLUK(METİNBİRLEŞTİR("";;BE6:CR6))
Bu da bize 33 değerini verecektir. Yani Sayısala girdi.
 
Gonderdiğiniz dokumanda,
Sözel için 3. satıra bakın... Sözele girmemiş çünkü hepsi BOŞ
Bu durumda şunu yapabilirsiniz.
=UZUNLUK(YERİNEKOY(G3&H3&I3;"X";""))
Türkçe İnkılap ve Din birleştirilip X yerine "" konularak uzunluğuna bakın.
Sonuç = 0 olacak.
Yani Sözele Girmedi.
Sayısala bakalım
=UZUNLUK(YERİNEKOY(K3&L3;"X";""))
Bu bize 33 değerini verecek. Yani 33 adet işaretlenmiş ŞIK var. Sayısala Girdi.

Evet bende UZUNLUK ile yapmıştım.
Peki bunu ELEMAN(?????; "Girmedi";"Sayısala Girmedi";"Sözele Girmedi";"Girdi") gibi nasıl göstereceğiz bu durumda?
Benim buradan anladığım soru işareti olan kısma hangi rakam gelmesini sağlarsak o rakama karşılık gelen dizinin elemanını çıktı olarak veriyoruz.
 
6. mesajda gönderdiğiniz dokumanda
E2 hücresine yazın ve aşağıya kopyalayın.

=ELEMAN(1+(UZUNLUK(YERİNEKOY(ARALIKBİRLEŞTİR(İNDİS(Liste!$G$2:$I$16;KAÇINCI(C5;Liste!$C$2:$C$16;0);0));"X";""))>0)+2*(UZUNLUK(YERİNEKOY(ARALIKBİRLEŞTİR(İNDİS(Liste!$K$2:$L$16;KAÇINCI(C5;Liste!$C$2:$C$16;0);0));"X";""))>0);"Girmedi";"Sayısala Girmedi";"Sözele Girmedi";"Girdi")

Burada
Rapor sayfasındaki Öğrenci Numarasına Liste sayfasında karşılık gelen Sözel satırını
İNDİS(Liste!$G$2:$I$16;KAÇINCI(C5;Liste!$C$2:$C$16;0);0)
ile buluyoruz.
G2&H2&I2 birleştirmesini de ARALIKBİRLEŞTİR işlevi ile yapıyoruz.
Aynı şekilde Sayısal için de aynı işlemi uygulayıp, ELEMAN işlevine sarıyoruz.

Dosyayı ekledim.
Yardımcı kolon ile olanı ekledim. Orada 1 - 2 - 3 - 4 değerlerinin bulunmasına bakarsınız.
 

Ekli dosyalar

  • Denemeye Girenleri Tespit Etmek - 2.xlsx
    18.4 KB · Görüntüleme: 0
Son düzenleme:
@52779 hocam dosyayı güncel çalışmalarımda düzenlerken şu şekilde bir sorunla karşılaştım.

Öğrenci listesinde (Rapor Sayfasında) numarası var ancak Liste sayfasındaki sonuçlarda bu numarayla ilgili bir kayıt yok yani öğrenci denemeye girmemiş.

Bu sorun aslında örnek dosyayı yazarken benim gözümden kaçan bir durumdan kaynaklanıyor.

Çünkü Liste ismindeki sayfa Deneme Sonuçları adında bir sayfa olmalıydı ve asıl değişken bilgiler bu sayfada olduğu öngörülmeliydi.

Rapor sayfasının adı ise Liste ya da Öğrenci Listesi olmalıydı. Sabit bilgiler burada olmalıydı.

Böyle olmayınca şuan öğrenci listesinde adı var ama denemeye girmediği için sonuç sayfasında ismi yok. Bu ise kodlamada #Yok hatasına sebep olmaktadır. (En son eklediğim öğrenci örneğindeki gibi...)

Bu durumu aşmak için nasıl bir yol izlemeliyiz?

SORU 003.webp
 

Ekli dosyalar

  • Denemeye Girenleri Tespit Etmek - 3.xlsx
    18.6 KB · Görüntüleme: 1
Not :
1 - Sıralamalı Öğrenci listesi (yani, sınıflar bazındaki Rapor Sayfası A2 : D16 aralığındaki liste) için herhangi bir işlem yapılmadı. Liste VAR olarak varsayıldı.
2 - Formüllerdeki EĞERHATA, Rapor sayfasındaki Öğrenci Listesindeki Okul No, Liste Sayfasındaki Okul No da bulunmuyorsa durumu içindir. Mutlaka bulunacak diyorsanız, EĞERHATA işlevine gerek yoktur.
2 numaralı mesajımda, 2. no lu Not olarak bunu yazmıştım.
Öğrenci numarası aranılan listede bulunamıyorsa #YOK hatası verecektir. Bu hatanın görünmemesi için EĞERHATA işlevine sarabilirsiniz.
Yani
=EĞERHATA(F o r m ü l ü n ü z ; "") şeklinde...
Burada
"" : #YOK yerine ""(BOŞ) yazdırmak için
"" yerine "Girmedi" derseniz, #YOK yerine Girmedi yazılacaktır.

Ben dosyanızda düzenleme yaptım... İncelersiniz.
 

Ekli dosyalar

  • Denemeye Girenleri Tespit Etmek - 3.xlsx
    18.8 KB · Görüntüleme: 3
2 numaralı mesajımda, 2. no lu Not olarak bunu yazmıştım.
Öğrenci numarası aranılan listede bulunamıyorsa #YOK hatası verecektir. Bu hatanın görünmemesi için EĞERHATA işlevine sarabilirsiniz.
Yani
=EĞERHATA(F o r m ü l ü n ü z ; "") şeklinde...
Burada
"" : #YOK yerine ""(BOŞ) yazdırmak için
"" yerine "Girmedi" derseniz, #YOK yerine Girmedi yazılacaktır.

Ben dosyanızda düzenleme yaptım... İncelersiniz.
Hmm o ayrıntıyı dikkatimden kaçırmışım. Ben daha çok ELEMAN içindeki 4 sonuç içine bu sonucu da yazdırabilir miyiz? sorusuna cevap aramakta ve denemeler yapmaktaydım.
 
@52779 Hocam orijinal dosyada şöyle bir sorunla karşılaşıyorum.
Örnek dosyada soru kolay anlaşılsın düşüncesiyle tek sayfadan deneme sonuçları alınıyordu.
Ancak orijinal dosyada (Kodu ekledim. Orijinal dosyada öğrenci bilgileri olduğu için ekleyemiyorum.)

Sayısal Dersleri
840_SAYISAL isimli sayfadan '840_SAYISAL'!$P$1:$Q$155; sütunlarını birleştirerek MATEMATİK + FEN derslerinin cevaplarını alıyorum.

Sözel Dersleri
840_SAYISAL_SOZEL simli sayfadan '840_SAYISAL_SOZEL'!$L$1:$O$155; sütunlarını birleştirerek TÜRKÇE + İNKILAP + DİN + İNGİLİZCE derslerinin cevaplarını alıyorum.

Bu durumda aşağıdaki formülde EĞERHATA ile Girmedi yazdırdığımda örneğin 840_SAYISAL a girmemiş yani bir veri olmadığında o öğrenci için Girmedi sonucu yazıyor. Ya da ben yanlış yapıyorum.


Kod:
Görüntülemek için giriş yapmalısınız.
(1 satır)


Orijinal dosyanın ekran görüntülerini ekleyeyim daha iyi anlaşılması için.



00001.webp
00002.webp
00003.webp
 
Selamlar,
formülünüze baktığımda,
Sonuçları 2 AYRI sayfadan değerlendirildiğinde problem olabilir...
Sonuçların birisine 1. sayfadan, diğerine 2. sayfadan baktığınızda şöyle bir problem olacaktır.

Örnekle anlatırsam,
Listenin birisinde VAR ve diğerinde YOK.
Örneğin Sözel için listede VAR ve Sayısal için listede YOK olsun. Sonuçta da, Sayısalda #YOK hatası verecektir.
Yani, Sözel de var olduğu için 1, Sayısalda olmadığı için #YOK olacaktır. Şimdi toplamlarına bakarsak,
Sözel + 2*Sayısal + 1 = 1 + 2*#YOK +1 = #YOK
şeklinde olup Hata verecektir. EĞERHATA yı, Sözel + 2*Sayısal + 1 toplamına uyguladığımızda da HATA yerine sonuçta Girmedi yazacaktır.
Oysa ki Sözel e girmiş ve Sayısala girmemiştir.

Bu durumda,
Yani sonuçlara 2 ayrı sayfadan bakıldığında problem oluşmaması için EĞERHATA işlemini her iki değerlendirmeye de uygulamak gerekir. EĞERHATA ile Hata olması durumunda 0 yazdırılırsa (ki 0 Girmedi karşılığıdır) problem çözülmüş olabilir.

Deneyiniz.
=EĞER($A1="";"";ELEMAN(1+EĞERHATA((UZUNLUK(YERİNEKOY(ARALIKBİRLEŞTİR(İNDİS('840_SAYISAL'!$P$1:$Q$155;KAÇINCI($A1;'840_SAYISAL'!$E$1:$E$155;0);0));DAMGA(88);""))>0);0)+2*EĞERHATA((UZUNLUK(YERİNEKOY(ARALIKBİRLEŞTİR(İNDİS('840_SAYISAL_SOZEL'!$L$1:$O$155;KAÇINCI($A1;'840_SAYISAL_SOZEL'!$E$1:$E$155;0);0));"X";""))>0);0);"Girmedi";"Sözele Girmedi";"Sayısala Girmedi";"Girdi"))
 
Çözüm
Selamlar,
formülünüze baktığımda,
Sonuçları 2 AYRI sayfadan değerlendirildiğinde problem olabilir...
Sonuçların birisine 1. sayfadan, diğerine 2. sayfadan baktığınızda şöyle bir problem olacaktır.

Deneyiniz.
=EĞER($A1="";"";ELEMAN(1+EĞERHATA((UZUNLUK(YERİNEKOY(ARALIKBİRLEŞTİR(İNDİS('840_SAYISAL'!$P$1:$Q$155;KAÇINCI($A1;'840_SAYISAL'!$E$1:$E$155;0);0));DAMGA(88);""))>0);0)+2*EĞERHATA((UZUNLUK(YERİNEKOY(ARALIKBİRLEŞTİR(İNDİS('840_SAYISAL_SOZEL'!$L$1:$O$155;KAÇINCI($A1;'840_SAYISAL_SOZEL'!$E$1:$E$155;0);0));"X";""))>0);0);"Girmedi";"Sözele Girmedi";"Sayısala Girmedi";"Girdi"))

@52779 Teşekkür ederim.
Beklenen sonucu verdi.
Açıklama için de ayrıca teşekkür ederim.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
DMCA.com Protection Status
Konuyu başlatan
Site Üyesi
Katılım
Konu Bilgi
Durum
Çözüldü 
Forum
Excel Formül Soruları
Başlangıç tarihi
Son yanıt tarihi
Cevaplar
18
Geri
Üst