Formülü daha kısa nasıl yaparız

Katılım
10 Nisan 2006
Mesajlar
29
Altın Üyelik Bitiş Tarihi
23/07/2023
=+EĞER($AK$8=1;DÜŞEYARA($A258;'[İmalat Yeşil Defter.xls]1'!$B$8:$I$37;8;YANLIŞ);EĞER($AK$8=2;DÜŞEYARA($A258;'[İmalat Yeşil Defter.xls]2'!$B$8:$I$38;8;YANLIŞ);EĞER($AK$8=3;DÜŞEYARA($A258;'[İmalat Yeşil Defter.xls]3'!$B$8:$I$39;8;YANLIŞ);EĞER($AK$8=4;DÜŞEYARA($A258;'[İmalat Yeşil Defter.xls]4'!$B$8:$I$39;8;YANLIŞ);EĞER($AK$8=5;DÜŞEYARA($A258;'[İmalat Yeşil Defter.xls]5'!$B$8:$I$38;8;YANLIŞ);EĞER($AK$8=6;DÜŞEYARA($A258;'[İmalat Yeşil Defter.xls]6'!$B$8:$I$37;8;YANLIŞ)))))))
Sevgili üstadlar. hazırladığım formülde istediğim sayfadaki değerleri alıyorum. yalnız formülü biraz daha uzatmam gerekiyor yani devamında AK8=20 ye kadar gitmesi gerekiyor. bu uzunluktan fazlasınıda kabul etmiyor.
yardımcı olursanız çok memnun olurum.
 

Ekli dosyalar

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.

►İmalat Yeşil Defter.xls adlı belge kapalı iken işlem yapılacaksa:
-- ilk tavsiyem; belirttiğiniz formülde Ms.Excel'in 7 ve daha fazla EĞER işlevi kullanımına izin vermesini sağlamaya yönelik olacak.
Tabi bu seçenekte formül kısaltması değil 7'den fazla EĞER kullanılması söz konusu.

Verdiğiniz formülde her bir EĞER işlevinin yanlışsa kısmına; ;"") ekleyip bu EĞER'leri & sembolü ile birleştirebilirsiniz.
Formülün sonucu SAYI ise (ilgili sayfa I sütunu) aşağıdaki formülün en başına 0+ ekleyin, METİN ise aşağıdaki haliyle kulanın.

EĞER işlevleri iç içe olmayacağından (her bir EĞER işlevinin parantezi kendi satırında kapanacağına göre) Ms.Excel buna engel olmayacaktır.
Formülü belirttiğiniz sayıda EĞER kullanarak bu şekilde oluşturabilirsiniz.
.
Kod:
=[COLOR="red"]EĞER[/COLOR]($AK$8=[B][COLOR="Blue"][SIZE="4"]1[/SIZE][/COLOR][/B];[COLOR="red"]DÜŞEYARA[/COLOR]($A258;'[İmalat Yeşil Defter.xls][B][COLOR="Blue"][SIZE="4"]1[/SIZE][/COLOR][/B]'!$B$8:$I$37;8;YANLIŞ)[B][COLOR="blue"][SIZE="4"];"")&[/SIZE][/COLOR][/B]
 [COLOR="red"]EĞER[/COLOR]($AK$8=[B][COLOR="Blue"][SIZE="4"]2[/SIZE][/COLOR][/B];[COLOR="red"]DÜŞEYARA[/COLOR]($A258;'[İmalat Yeşil Defter.xls][B][COLOR="Blue"][SIZE="4"]2[/SIZE][/COLOR][/B]'!$B$8:$I$38;8;YANLIŞ)[B][COLOR="blue"][SIZE="4"];"")&[/SIZE][/COLOR][/B]
 [COLOR="red"]EĞER[/COLOR]($AK$8=[B][COLOR="Blue"][SIZE="4"]3[/SIZE][/COLOR][/B];[COLOR="red"]DÜŞEYARA[/COLOR]($A258;'[İmalat Yeşil Defter.xls][B][COLOR="Blue"][SIZE="4"]3[/SIZE][/COLOR][/B]'!$B$8:$I$38;8;YANLIŞ)[B][COLOR="blue"][SIZE="4"];"")&[/SIZE][/COLOR][/B]
[B][COLOR="red"].......
.......
[/COLOR][/B] [COLOR="red"]EĞER[/COLOR]($AK$8=[B][COLOR="Blue"][SIZE="4"]21[/SIZE][/COLOR][/B];[COLOR="red"]DÜŞEYARA[/COLOR]($A258;'[İmalat Yeşil Defter.xls][B][COLOR="Blue"][SIZE="4"]21[/SIZE][/COLOR][/B]'!$B$8:$I$38;8;YANLIŞ)[B][COLOR="blue"][SIZE="4"];"")&[/SIZE][/COLOR][/B]
 [COLOR="red"]EĞER[/COLOR]($AK$8=[B][COLOR="Blue"][SIZE="4"]22[/SIZE][/COLOR][/B];[COLOR="Red"]DÜŞEYARA[/COLOR]($A258;'[İmalat Yeşil Defter.xls][B][COLOR="Blue"][SIZE="4"]22[/SIZE][/COLOR][/B]'!$B$8:$I$38;8;YANLIŞ)[B][COLOR="blue"][SIZE="4"];"")[/SIZE][/COLOR][/B]
-- İkinci tavsiyem belirttiğiniz kapalı Excel belgesinin gerekli sütunlarındaki (mevcut formüle göre I sütunu)
ilgili verileri Hakediş adlı belgesinde yeni bir sayfada ayrı ayrı sütunlara alıp, bu kez
daha kısa formül ile DOLAYLI işlevini kullanarak veya AD TANIMLAMASI kulanarak sonuca gitmek yönünde olacak.
Diyelimki Hakediş belgesine IYD adlı yeni bir sayfa oluşturdunuz ve bu yeni sayfada Yeşil defterin,
...1 adlı sayfası I sütununundaki 8:37'inci satır arasını A1 hücresinden itibaren aşağı doğru A sütununa,
...2 adlı sayfa I sütununu B sütununa B1 hücresinden itibaren aşağı doğru
..... gibi 22 sütuna aldınız.
.
Kod:
=[COLOR="red"]EĞER[/COLOR]([COLOR="red"]EĞERSAY[/COLOR]([COLOR="red"]DOLAYLI[/COLOR]("IYD!"&[COLOR="red"]ADRES[/COLOR](1;$AK$8;4)&":"&[COLOR="red"]ADRES[/COLOR](100;$AK$8;4));AK258)=0;"";[COLOR="red"]KAYDIR[/COLOR](IYD!$A$1;$K$8-1;[COLOR="red"]KAÇINCI[/COLOR]($AK258;[COLOR="red"]DOLAYLI[/COLOR]("IYD!"&[COLOR="red"]ADRES[/COLOR](1;$AK$8;4)&":"&[COLOR="red"]ADRES[/COLOR](100;$AK$8;4));0)-1))
 
Katılım
10 Nisan 2006
Mesajlar
29
Altın Üyelik Bitiş Tarihi
23/07/2023
Teşekkür ederim

Ömer BARAN üstad çok teşekkür ederim. emeklerine sağlık.
ilk formülü hemen uyguladım. diğerinide deneyecem yani yeni bir IYD açıp bakacam.
çok teşekkür ederim tekrar.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
.
Kolay gelsin.

İkinci yöntemde dikkat edilecek husus:
DOLAYLI işlevinin parantezi içerisindeki bölümün doğru elde edilmesi.
Örneğin AK8 hücresine;
-- 1 yazdığınızda ="IYD!"&ADRES(1;$AK$8;4)&":"&ADRES(100;$AK$8;4) formül parçasının sonucunun IYD!A1:A100 sonucunun,
-- 2 yazdığınızda ="IYD!"&ADRES(1;$AK$8;4)&":"&ADRES(100;$AK$8;4) formül parçasının sonucunun IYD!B1:B100 sonucunun,
alınıyor olması.
.
 
Üst