[]

Excel EĞER sorusu

Merhaba dostlar. Deneyip yapamayınca kafaya taktığım bir olay var. Ve nasıl olduğunu anlayamadım. Şöyleki Ben bir gano hesaplama programı yapmaya çalışıyorum, amacım misal öğrenci "bb" girdiğinde dersin getirisini "3" olarak gösterecek bir hücre oluşturmam gerekiyor.
Basitçe şöyle ;
=EĞER(YADA(C2="FF";C2="ff");"0";"0")
bu haldeyken çalışıyor güzel birşekilde, ama ben tüm notlar için tek hücre kullanmak istiyorum.
Yani şu komut çalışsın istiyorum
=EĞER(YADA(C2="FF";C2="ff");"0";"0");EĞER(YADA(C2="FD";C2="fd");"0,5";"0");EĞER(YADA(C2="DD";C2="dd");"1";"0");EĞER(YADA(C2="DC";C2="dc");"1,5";"0");EĞER(YADA(C2="CC";C2="cc");"2";"0");EĞER(YADA(C2="BC";C2="bc");"2,5";"0");EĞER(YADA(C2="BB";C2="bb");"3";"0");EĞER(YADA(C2="BA";C2="ba");"3,5";"0");EĞER(YADA(C2="AA";C2="aa");"4";"0")

Ancak (php kodlama bilgim var) if deyimi ilk eğer de bozuluyor, yani 3 seçenek var ilk EĞER'de. FFise şunu yaz, değilse bunu yaz gibi. Ben ise phpde ki gibi ELSEIF kullanmak istiyorum, yani ffse 0 yaz fd ise 0,5 ... AA ise 4 ... hiçbirşey yazılı değilse birşey yapma. gibi.

Var mıdır bu konuda bilgisi olan?

 
switch($not)
{
case 'FF':
$katsayi=1.25;
break;
case 'DD':
$katsayi=0;
break;
}

php bu abi. olmadı ver değerleri formulü yazarım buralardayım.
  • serafettinn  (08.06.11 05:47:02 ~ 05:48:07) 
Yanlış anlattım sanırım abi, phpde yapabilirim bunu zaten ben. Ama ben excelde yapmak istiyorum.


  • yapma be  (08.06.11 05:51:23) 
=IF(OR(A1="FF";A1="ff");"0";IF(OR(A1="BB";A1="bb");"1";IF(OR(A1="CC";A1="cc");"2";"3")))


  • akiskan  (08.06.11 06:59:00) 
Akışkan bahsettiğin şekilde denedim ama senin kodda ara notlar yok. Yani 1,5 2,5 3,5 falan. Ben içiçe yeniden yapmaya çalıştım seninki gibi ama bu sefer de çok fazla içiçe komut var diye kabul etmedi.
En son çare olarak ARA komutunu denemeye çalıştım ama onunda yararı yok gibi.

Kullandığım kod (seninki gibi olanı)
=EĞER(YADA(C2="FF";C2="ff");"0";EĞER(YADA(C2="FD";C2="fd");"0.5";EĞER(YADA(C2="DD";C2="DD");"1";EĞER(YADA(C2="CC";C2="cc");"2";EĞER(YADA(C2="BC";C2="bc");"2.5";EĞER(YADA(C2="BB";C2="bb");"3";EĞER(YADA(C2="BA";C2="ba");"3.5";EĞER(YADA(C2="AA";C2="aa");"4";"3")))))))))));
  • yapma be  (08.06.11 07:23:14 ~ 07:27:18) 
akiskannın yazıdığı gibi
=EĞER(YADA(C2="FF";C2="ff");"0";"0") komutunda ikinci "0" yerine not FF değilse olması gereken şartı yazmalısın
yani EĞER(YADA(C2="FD";C2="fd");"0,5"...
... yerine de EĞER(YADA(C2="DD";C2="dd");"1";...
şeklinde devam etmelisin
  • €xpolerer  (08.06.11 07:23:51) 
Devam ediyorum işte.2 üstte yazdığım kod var. Ama bu seferde "izin verilenden fazla içiçe düzey kullanıldığından girilemiyor" gibi bir hata veriyor.


  • yapma be  (08.06.11 07:28:35) 
excelde bir hücrede girebileceğin formule ait belli bir sayı sınırı var.

edit: bu arada senin yazdığın formu bende hata vermedi. (excel 2007)
  • €xpolerer  (08.06.11 08:08:36 ~ 08:16:09) 
Bu durumda kullanman gereken dongu if,else değil vlookup dongusu.
Kullandığın sheet'e veya yeni bir sheet'e 2 kolon ekle,a1(FF),b1(1),a2(ff),b2(1)),a3(BB),b3(2),a4(bb),b4(2) gibi sonrasında bulmak istedğin değerlere karşılık gelen hücrede =VLOOKUP("aradıgın değer";A1:B4;2;0)
ps: tik ?
  • akiskan  (08.06.11 08:27:17 ~ 08:29:12) 
vlookup falan oluşturmana gerek yok;

=ARA(C2;{"FF";"FD";"DD";"DC";"CC";"BC";"BB";"BA";"AA"\0;0,5;1;1,5;2;2,5;3;3,5;4})
  • mahallenindelisi  (08.06.11 09:41:41) 
@mahallenindelisi #YOK diye hata veriyor verdiğin kodda. Excel erişimin varsa dener misin yada denedin mi? Herhangi bir yere CC girip girdiğin hücreyi sorgulatır mısın, zahmet olmazsa tabi. Belkide ben bir yerde hata yapıyorumdur diye diyorum (:


  • yapma be  (08.06.11 10:14:11) 
C2 hücresine girip denedin mi? bu arada office ingilizce ise lookup olacak formül.


  • mahallenindelisi  (08.06.11 10:24:39) 
mahallenin delisinin bahsettiği formul
=LOOKUP(C2;{"AA"\1;"BB"\2;"CC"\3;"DD"\4;"EE"\5;"FF"\6}) bu formulde değerleri hücrede tutmak yerine arrayin içine gömüyor,bunları bir sutuna yazıp =LOOKUP(C2;D2:E7) yazmakla aynı şey. ama array içinde yazılışı daha komplike oluyor.

  • akiskan  (08.06.11 10:31:44) 
şimdi tekrar baktım da çalışmıyor bu formül. sanırım harften sayı arandığı için. sayıdan harf aranırsa sorun yok.

=ARA(C2;{0;0,5;1;1,5;2;2,5;3;3,5;4};{"FF";"FD";"DD";"DC";"CC";"BC";"BB";"BA";"AA"})

en mantıklısı küçük bir vlookup tablosu oluşturmak gibi duruyor.
  • mahallenindelisi  (08.06.11 10:35:22 ~ 10:35:32) 
=EĞER(EHATALIYSA(DÜŞEYARA(C2;Sayfa2!A1:C23;2;0));"0";DÜŞEYARA(C2;Sayfa2!A1:C23;2;0))
komutuyla hallettim. Yardım eden arkadaşlara teşekkürler. (EĞER kullanmamın sebebi, eğer değer girmemişsen c2ye #YOK getiriyordu, ben "0" getirsin istedim.)

  • yapma be  (08.06.11 11:32:43) 
Sanıyorum eski sürüm office kullanıyorsunuz, çünkü office 2007'de içiiçe 255 eğer kullanılabiliyor. Eski sürümlerde 7'den fazla içiçe eğer formülüne izin vermiyordu.

En pratik çözüm düşeyara formülüdür:

Tablonuzda E1'den itibaren aşağıya doğru FF, FD, DD, DC, CC, CB, BB, BA, AA ve f sütununda da karşılarında not değerleri varsayıyorum.

B1 hücresinde aranacak değerimiz örneğin CC var ve C1 hücresine de not karşılığını yazmak istiyorsak, C1'de kullanacağımız formül şöyledir:

=DÜŞEYARA(B1;$E$1:$F$9;2;0)

Burdaki $ işaretleri formülü aşağılara kopyaladığınızda tablonun kaydırılmamasını sürekli aynı tablodan arama yapmamızı sağlar. Sondaki 0 ise ilk sütundaki değerlerimiz alfabetik sıraya dizilmemişse ve ara değerlerle ilgilenmiyorsak (örneğin AAB gibi) yani sadece o 9 farklı harf değerine göre sonuç döndüreceksek kullanmamız gereken hededir.
  • 44  (08.06.11 15:08:38) 
@yapma be: O formülde $işareti kullanmazsanız formülü aşağılara kopyaladığınızda referans tablonun yerini de değiştirir ve formül çalışmaz.


  • 44  (08.06.11 15:10:03) 
Sonunda tamamlandı.Emeği geçen tüm arkadaşlara teşekkür ediyorum. İlgilenen olursa diye sonucu buraya koyuyorum.
mnyk.net

  • yapma be  (08.06.11 19:45:53) 
Tabloyu garanti olsun diye büyük küçük harf olarak yapmışsınız herhalde. Düşeyara formülü duyarlı değil, büyük(AA), küçük(aa) ya da büyükküçük(Aa, aA) olması olayı değiştirmiyor, hepsi aynı.

Bir de Gano formülüne yuvarlama yaparsanız daha iyi olur:

=yuvarla(E45/B45;2)

düşeyara formülünü şu şekilde kısaltabilirsiniz:

=EĞER(C2="";0;DÜŞEYARA(C2;Sayfa2!$A$1:$B$18;2;0))

Bu formül, sonucu virgülden sonra 2 basamağa yuvarlar .
  • 44  (08.06.11 23:00:57 ~ 23:03:36) 
1
buraya yazılanların hakları Sir Anthony Hopkins'e aittir.
yazan eden compumaster, ilgilenen eden fader
modere edenler angelus, Artibir, aychovsky, baba jo, basond, compumaster, deckard, duyulmasi gerektigi kadar, fader, fraise, groove salad, kahvegibi, kaymaktutmayansicaksut, kibritsuyu, monstro, pandispanya, robin, ron dennis
bu sitede yazılanların hiçbiri doğru değildir. site içeriği küçükler için sakıncalı olabilir. yazılardan yazarları sorumludur. kaynak göstermeden alıntılanamaz. devlet tarafından atanmış bir kurumun internet üzerinde kimin hangi bilgiye ulaşıp ulaşamayacağına karar vermesi insan haklarına aykırıdır. web siteleri kullanıcıların istekleri doğrultusunda bağlandıkları yerlerdir. kullanıcılar isterlerse bir web sitesine bağlanmayabilirler. bu güçleri ve imkanları mevcuttur. bir kullanıcı bir siteye bağlanmak istiyorsa bu onun tercihi ve hakkıdır. bağlanmak istemiyorsa bu yine onun tercihi ve hakkıdır. halkın kendisine hizmet etmesi için görevlendirdiği kurumlar hadlerini aşıp halka neye ulaşıp ulaşmayacağını bilmeyen cahil cühela muamelesi edemezler. ebeveynlerin çocuklarını sakıncalı içeriklerden koruması için çok sayıda bedava ve ücretli yazılım mevcuttur. bu yazılımlar bir web tarayıcısını kullanmaktan daha karmaşık teknik bilgi gerektirmemektedir. devletin milletini küçük düşürmesi ve ebleh yerine koyması yasaktır. Skimlinks ile linkler üzerinden yönlendirme payı alınmaktadır.