Excel Forum

Excel Forum (http://www.excel.web.tr/index.php)
-   Fonksiyonlar (http://www.excel.web.tr/forumdisplay.php?f=47)
-   -   Formülü daha kısa nasıl yaparız (http://www.excel.web.tr/showthread.php?t=167905)

Golden-M 04-11-2017 16:03

Formülü daha kısa nasıl yaparız
 
1 Eklenti(ler)
=+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($A25 8;'[İmalat Yeşil Defter.xls]2'!$B$8:$I$38;8;YANLIŞ);EĞER($AK$8=3;DÜŞEYARA($A25 8;'[İmalat Yeşil Defter.xls]3'!$B$8:$I$39;8;YANLIŞ);EĞER($AK$8=4;DÜŞEYARA($A25 8;'[İmalat Yeşil Defter.xls]4'!$B$8:$I$39;8;YANLIŞ);EĞER($AK$8=5;DÜŞEYARA($A25 8;'[İmalat Yeşil Defter.xls]5'!$B$8:$I$38;8;YANLIŞ);EĞER($AK$8=6;DÜŞEYARA($A25 8;'[İ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.

Ömer BARAN 05-11-2017 02:37

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:

=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$38;8;YANLIŞ);"")&
.......
.......
EĞER($AK$8=21;DÜŞEYARA($A258;'[İmalat Yeşil Defter.xls]21'!$B$8:$I$38;8;YANLIŞ);"")&
 EĞER($AK$8=22;DÜŞEYARA($A258;'[İmalat Yeşil Defter.xls]22'!$B$8:$I$38;8;YANLIŞ);"")

-- İ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:

=EĞER(EĞERSAY(DOLAYLI("IYD!"&ADRES(1;$AK$8;4)&":"&ADRES(100;$AK$8;4));AK258)=0;"";KAYDIR(IYD!$A$1;$K$8-1;KAÇINCI($AK258;DOLAYLI("IYD!"&ADRES(1;$AK$8;4)&":"&ADRES(100;$AK$8;4));0)-1))

Golden-M 05-11-2017 12:31

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 05-11-2017 20:58

.
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ı.
.


Saat 17:04

Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.