Bu formül daha kısa hale gelebilir mi?

Katılım
7 Ocak 2007
Mesajlar
263
Excel Vers. ve Dili
Excel 2003 (US),
Excel 2010 (US)
haklısınız henüz linkteki dosyayı ındirdiğim halde inceleme zamanım olmadı. bu formülünüz de hücreler boş olunca hata veriyor.
teşekkür ederim. ben aşağıdakinde karar kıldım.
=EĞER(BAĞ_DEĞ_SAY(B17:B24);ARA(99999;B17:B24);"")
ilginize çok teşekkürler arkadaşım.
Ataman,

BSayı (Büyük Sayı'nin kısaltılmışı) 9,99999999999999E+307 tanımlarsan, formül şöyle düzenlenir:

=EĞER(BAĞ_DEĞ_SAY(B17:B24);ARA(BSayı;B17:B24);"")

Eğer sözkonusu formül ilgini çekiyorsa:

http://tinyurl.com/ytl5uq

http://www.mrexcel.com/board2/viewtopic.php?t=105725
 
Son düzenleme:
Katılım
7 Ocak 2007
Mesajlar
263
Excel Vers. ve Dili
Excel 2003 (US),
Excel 2010 (US)
O zaman veridiğim linkteki dosyayı incelemediniz.

Arada boşluk varsa;

=ARA(2;1/(1-EBOŞSA(B1:B65523));B1:B65523)

formülünü deneyin.
EBOŞSA ISBLANK mi?

Sayısal bir alana uygulandığında bunun

=ARA(9,99999999999999E+307;B1:B65523)

formülünden tek farkı sonuca varmakta daha çok zaman gerektirmesidir.
 
Son düzenleme:
Katılım
20 Ocak 2007
Mesajlar
158
Excel Vers. ve Dili
excel 2007 tr
TEŞEKKÜR EDERİM.bu förmül aşağıdan yukarı bakarak en alttaki ilk sayıyı alıyor. bunun tam tersini yani yukarıdan aşağı nasıl yaparız.
 

İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,104
Excel Vers. ve Dili
Excel, 365 - İngilizce
EBOŞSA ISBLANK mi?

Sayısal bir alana uygulandığında bunun

=ARA(9,99999999999999E+30;B1:B65523)

formülünden tek farkı sonuca varmakta daha çok zaman gerektirmesidir.
Haklısınız.:hey:

Ancak, Sayın Ataman'ın uzun formüllere ve 9,99999999999999E+30 (Bignum-Büyüksayı)'ya antipatisi var. :mrgreen:
 
Katılım
7 Ocak 2007
Mesajlar
263
Excel Vers. ve Dili
Excel 2003 (US),
Excel 2010 (US)
TEŞEKKÜR EDERİM.bu förmül aşağıdan yukarı bakarak en alttaki ilk sayıyı alıyor. bunun tam tersini yani yukarıdan aşağı nasıl yaparız.
Ataman,

Bu förmül binary search denilen bir algoritma ile her hücreye bakmaya gerek görmeden çok çabuk sonuca varır. Aşadaki verilerden çıkarsak, ne sonuc elde etmek istiyorsun?

45
36
57
55
21
 
Katılım
20 Ocak 2007
Mesajlar
158
Excel Vers. ve Dili
excel 2007 tr
sayın yurttaş,
ona antipati demeyelim. ben büyük sayıyı işimi görecek şekilde kısalttım sadece. ilginize teşekkür ederim.
 
Katılım
20 Ocak 2007
Mesajlar
158
Excel Vers. ve Dili
excel 2007 tr
sayın akyürek,
bu förmül benim işimi gördü : =EĞER(BAĞ_DEĞ_SAY(B17:B24);ARA(99999;B17:B24);"")
ayrıca aşağıdan yukarı değilde yukarıdan aşağı nasıl aratırız onu merak ettim hepsi bu.
teşekkür ederim.
 
Katılım
20 Ocak 2007
Mesajlar
158
Excel Vers. ve Dili
excel 2007 tr
Ataman,

Bu förmül binary search denilen bir algoritma ile her hücreye bakmaya gerek görmeden çok çabuk sonuca varır. Aşadaki verilerden çıkarsak, ne sonuc elde etmek istiyorsun?

45
36
57
55
21
sayın akyürek,
yukarıdaki sayılardan yola çıkarsak. eğer 45 yoksa 36 yı alsın, oda yoksa 57 yi alsın, o da yoksa 55 i alsın ve tanımladığım aralıkta böyle gitsin.
teşekkürler.
 
Katılım
7 Ocak 2007
Mesajlar
263
Excel Vers. ve Dili
Excel 2003 (US),
Excel 2010 (US)
sayın akyürek,
bu förmül benim işimi gördü : =EĞER(BAĞ_DEĞ_SAY(B17:B24);ARA(99999;B17:B24);"")
ayrıca aşağıdan yukarı değilde yukarıdan aşağı nasıl aratırız onu merak ettim hepsi bu.
teşekkür ederim.
Binary search algoritması, eğer bu deyimleri ille kullanmak gerekliyse, "hem yukardan aşağı hem aşağıdan yukarı" arar.
 
Katılım
7 Ocak 2007
Mesajlar
263
Excel Vers. ve Dili
Excel 2003 (US),
Excel 2010 (US)
sayın akyürek,
yukarıdaki sayılardan yola çıkarsak. eğer 45 yoksa 36 yı alsın, oda yoksa 57 yi alsın, o da yoksa 55 i alsın ve tanımladığım aralıkta böyle gitsin.
teşekkürler.
Eğer sözkonusu formül öyle yapsa, çabukluğunu yitirir.

http://www.nist.gov/dads/HTML/binarySearch.html

KAÇINCI(Değer;TekBoyutluAlan;1)
ŞYARA(Değer;DikeyTablo;Sütun;1)
YATAYARA(Değer;YatayTablo;Sıra;1)
ARA(Değer;AramaVektörü;SonuçVektörü)

hep binary search uygularlar.
 
Katılım
20 Ocak 2007
Mesajlar
158
Excel Vers. ve Dili
excel 2007 tr
SAYIN AKYÜREK,
=EĞER(B17>0;B17;EĞER(B18>0;B18;EĞER(B19>0;B19;EĞER(B20>0;B20;EĞER(B21>0;B21;EĞER(B22>0;B22;EĞER(B23>0;B23;B24)))))))
eğer kullanarak yaptığım bu işlemi yapan başka formülü ben oluşturamadım. bu konuda sizler kadar usta değilim. bana yaparsanız memnun olurum. teşekkürler.
 
Katılım
7 Ocak 2007
Mesajlar
263
Excel Vers. ve Dili
Excel 2003 (US),
Excel 2010 (US)
SAYIN AKYÜREK,
=EĞER(B17>0;B17;EĞER(B18>0;B18;EĞER(B19>0;B19;EĞER(B20>0;B20;EĞER(B21>0;B21;EĞER(B22>0;B22;EĞER(B23>0;B23;B24)))))))
eğer kullanarak yaptığım bu işlemi yapan başka formülü ben oluşturamadım. bu konuda sizler kadar usta değilim. bana yaparsanız memnun olurum. teşekkürler.
Niye günaha girim ki? :mrgreen: Alanda 60000 değer varsa 60000 EĞER'mi sonuca götürecek?
 
Katılım
20 Ocak 2007
Mesajlar
158
Excel Vers. ve Dili
excel 2007 tr
60000 adet "eğer" kullanarak yapın demedim. eğer kullanmadan yapılan başka förmül var mı diye sordum. siz günaha girmeyin. bilmiyorsanız bilmiyorum deyin. ben yapamadığımı açıkça belirttim. yardım istedim.
 
Katılım
7 Ocak 2007
Mesajlar
263
Excel Vers. ve Dili
Excel 2003 (US),
Excel 2010 (US)
60000 adet "eğer" kullanarak yapın demedim. eğer kullanmadan yapılan başka förmül var mı diye sordum. siz günaha girmeyin. bilmiyorsanız bilmiyorum deyin. ben yapamadığımı açıkça belirttim. yardım istedim.
Soruyu yanlış anladığım belli. Bu tabi birazda beklenmedik soru: Zaten başka, EĞER'siz, bir formül verdim. Yanıtımda, EĞER'de ısrar ettiğinizi sandığımdan, dolaylı olarak EĞER'in sözkonusu problemde ve benzer problemlerde kullanmanın uygun olmadığını dile getirmek istedim.
 
Katılım
20 Ocak 2007
Mesajlar
158
Excel Vers. ve Dili
excel 2007 tr
verdiğiniz yollardan ben beceremedim. ilginize teşekkür ederim. saygılar.
 
Katılım
24 Kasım 2006
Mesajlar
16
Excel Vers. ve Dili
Excel 2003 Türkçe
sayın akyürek,
yukarıdaki sayılardan yola çıkarsak. eğer 45 yoksa 36 yı alsın, oda yoksa 57 yi alsın, o da yoksa 55 i alsın ve tanımladığım aralıkta böyle gitsin.
teşekkürler.
Sayısal değer bulmak için - Ctrl+Shift+Enter
Kod:
'=TOPLA(KAYDIR($B$17;;;KAÇINCI(1;(ESAYIYSA($B$17:$B$24))*($B$17:$B$24>0);0);1))
Metinsel değer için - Ctrl+Shift+Enter
Kod:
'=KAYDIR($B$17;KAÇINCI(1;(EMETİNSE($B$17:$B$24))*($B$17:$B$24>0);0)-1;;;)
 
Son düzenleme:
Katılım
20 Ocak 2007
Mesajlar
158
Excel Vers. ve Dili
excel 2007 tr
sayın zorro,
nihayet 2.sorunuma aradığım yanıtı siz verdiniz.çok teşekkür ederim. elleriniz dert görmesin. başarılar dilerim.
 
Üst