• DİKKAT

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

Bul formülü hatası

Katılım
26 Mart 2012
Mesajlar
253
Excel Vers. ve Dili
MİCROSOFT EXCELL OFFİCE 2007
Merhaba. Yapamadığım bir şey var bir türlü.

A1 HÜCRESİNDE BİR CÜMLE YAZILI.

BENİM YAPMAK İSTEDİM ŞEY ŞU.

EĞER A1 DE "ikramiye" ya da "katsayı" kelimelerinden herhangi biri geçiyorsa B1 i aynen al. A1 DEKİ CÜMLEDE Bu iki kelimeden HİÇBİRİ YOKSA O ZAMAN B1+1 YAP.

ŞİMDİDEN TEŞEKKÜRLER
 
Aşağıdaki formülü deneyiniz:

Kod:
=EĞER(EHATALIYSA(MBUL("İKRAMİYE";A1))=DOĞRU;EĞER(EHATALIYSA(MBUL("KATSAYI";A1))=DOĞRU;B1+1;B1);B1)
 
Çok teşekkür ederim sağolun. bu formülün mantığı nasıldır peki açıklayabilirseniz sevinirim. tekrar sağolun
 
EHATALIYSA(MBUL("İKRAMİYE";A1))=DOĞRU

BUL formülü aranan metnin aranılan hücrede varsa başlangıç sayısını verir. Ancak büyük küçük duyarlı olduğu için onun yerine MBUL kullandım.

BUL ve MBUL formüllerinde aranan metin hücrede yoksa #DEĞER hatası oluşur.

EHATALIYSA formülü ise parantez içindeki formül sonucunun hatalı olup olmadığını bulur. Yani eğer MBUL formülümüz #DEĞER hatası verirse EHATALIYSA formülü DOĞRU sonucu verir.

Formülün başındaki EĞER ile "EHATALIYSA formülünün sonucu DOĞRU çıkarsa" şartını arıyoruz. Daha uzun ifadeyle "eğer hücrede aranan metin yoksa"yı bu şekilde uzun yoldan bulmak zorunda kalıyoruz. EHATALIYSA formülünü kullanmazsak sürekli hata verir çünkü.

Formülün tamamında ise hücrede katsayı ya da ikramiye sözcükleri varsa B1'i aynen yaz, yoksa B1'e 1 ekle şeklinde düzenleme yaptım.
 
Kusura bakmayın teşekkürü geciktirdim biraz =EĞERHATA((EĞER(YADA(BUL("İkramiye";A1);BUL("Katsayı";A1));B1));B1+1) BU FORMÜLDEKİ HATA NEREDE ACABA. neden sonuç çıkmıyor.
 
selam,
Sn Yusuf44 , #4 mesajında , bu sorunuza da cevap vermiş aslında.
Alıntılayarak cevap vermeye çalışayım.
1 - "BUL ve MBUL formüllerinde aranan metin hücrede yoksa #DEĞER hatası oluşur"
aranan ibare içerisinde İkramiye veya Katsayı YOK ise DEĞER hatası üretecek ve formülünüze göre B1 de yazılana 1 ilave ederek sonuç üretecek. Çünkü #DEĞER bir hata ve EĞERHATA ile de ikinci duruma gidilecek ve B+1 yazılacak...
Bunu adım adım formül yazılı olan hücre seçili iken Formüller menüsü > Formülü Değerlendir (Formül Denetleme Kısmı) inceleyebilirsiniz..
2 - "BUL formülü aranan metnin aranılan hücrede varsa başlangıç sayısını verir. Ancak büyük küçük duyarlı olduğu için onun yerine MBUL kullandım"
Formülünüzde BUL fonksiyonu kullanmışsınız. BUL fonksiyonu Büyük Harf - Küçük Harf duyarlıdır. Örneğin. A1 de ikramiye KATSAYISI yazıyor olsun. Normalde Aradığınız iki kelime de mevcut. Ama siz arıyorsunuz "İkramiye" (burada ise "ikramiye" (küçük harf i ile)) , ya da siz arıyorsunuz "Katsayı" ve buradaki ise hepsi Büyük Harf ile KATSAYI.... Sonuçta Formül sonucu #DEĞER hatası olacaktır....
kolay gelsin...
 
Merhaba.
YUSUF Bey şu an forumda değil. Sorunuzu ben cevaplayayım.

Son mesajınızda belirttiğiniz formülün sonucu;
-- A1 hücresinde hem ikramiye ve hem de katsayı kelimeleri varsa
(YUSUF Bey'in, BÜYÜK/KÜÇÜK harf uyarısı baki olmak üzere) B1'deki değeri,
-- İkramiye ve katsayı sözcüklerinden herhangi biri yoksa B1'deki değerin 1 fazlasını verir.
Sanırım siz YADA işlevini kullanarak, bu iki kelimeden herhangi biri varsa B1'deki değeri
vereceğini düşünüyorsunuz. Ancak bu iki kelimeden sadece biri varsa YADA işlevinin sonucu
#DEĞER! hatasını verecektir.
Çünkü YADA işlevinin içindeki BUL işlevlerinden bir tanesi mutlaka #DEĞER! hatası sonucunu verir.
-- İsterseniz başka bir hücreye
=YADA(BUL("İkramiye";A1);BUL("Katsayı";A1)) formülünü yazarak
-- veya BUL işlevlerinin herbirini başka hücrelere uygulayarak
bu durumu görebilirsiniz.

İlle de YADA işlevini kullanmak istiyorsanız bahsettiğiniz formülü aşağıdaki şekilde değiştirerek kullanabilirsiniz.
.
Kod:
=EĞERHATA((EĞER(YADA([COLOR="Red"]ESAYIYSA([/COLOR]BUL("İkramiye";A1)[COLOR="red"])[/COLOR];[COLOR="red"]ESAYIYSA([/COLOR]BUL("Katsayı";A1)[COLOR="red"])[/COLOR]);B1));B1+1)
NOT: Sayın sakman'ın cevabını sonradan gördüm.
.
 
Son düzenleme:
Hımm anladım sanırım :) cevaplarınız için çok sağolun dostlar. Varolun tekrar. Hayırlı geceler.
 
Merhaba,

Alternatif olarak kullanabilirsiniz.

Kod:
=EĞER(YADA(ESAYIYSA(MBUL({"ikramiye";"katsayı"};A1)));B1;B1+1)
 
Geri
Üst