• DİKKAT

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

Eğer Fonk. (data içinde belli terime göre)

Katılım
2 Mayıs 2012
Mesajlar
13
Excel Vers. ve Dili
2010 Professional
Merhaba,

Eğer formülüyle ilgili, listemde ödeme tarihlerini belirleyeceğim. Lakin Formül Çok uzun oluyor haliyle, Verileri aşağıda belirtiyorum.

70% BEFORE SHIPMENT
70% BEFORE B/L

Bu şekilde yüzde oranlara göre uzuyor. Lakin benim istediğim sadece BEFORE SHIPMENT veya BEFORE B/L e bakıp ona göre AH3 sutununda veya AG3 hücresinde ki tarihten 7 çıkartması gerektiğini formüle etmek istiyorum.

Kendi yaptığım şekli aşağıda ki gibi epey bir destan oluyor. Tek tek tüm terimleri yazmam gerekiyor. Not: Aşağıda ki formül yüzdeleri hesaplamak için hazırlamıştım. İstediğim iç in (AH-7) gerekli yerlere ekleyeceğim.
 

Ekli dosyalar

Konuyu biraz daha açarsam,

Bir fatura tutarımız mevcut 100.000$(Not: Tutar sütunu oluşturmadım, hepsi değişken veri olacağı için en sağ boş sütunu düşünün) ve Payment Terms (peşinat (D sütun) Balance( Gsütun) payments terms e göre Peşinat tutarını hesaplayacak (%10, %20 vb) sonra Balance'dan kalan ödenmesi gereken kalan tutarı hesaplayacak.

D ve G sütunlarda ki formülleri kendim hazırladım ve işlemesine işliyor ama çok uzun oldular. Tarihlerde eğer BEFORE SHIPMENT ibaresi varsa şunu yap; C-7; yoksa AGAINST B/L; H-7 varsa şunu hesapla şeklinde daha kısaltmak istiyorum. Çünkü tarihleri hesaplamakta önemli olan BEFORE SHİP yada AGAINST B/L kısmı benim için.


Anlatımım kafa karıştırdıysa kusura bakmayın.

Not: deposite ve balance hesaplamak için yaptığım formül biraz uzun onunla ilgili yorum ve değerlendirmenizi rica ederim.
 
Önceden yaptığınız her şeyi unutun. Bize tablonuzun ham halini ve o tablodan hangi şartlarda hangi işlemin yapılacağını ayrıntılı ve açık bir şekilde (shipment, payment hiç bir şey bilmediğimizi unutmadan) yazarsanız (bence) daha uygun olur. Şu anda tablonuzdan ve yazdıklarınızdan hiçbir şey anlamadım, zaten formüllerinizde BAŞV hatası var.
 
Tekrar Merhaba,

Listede ki verileri formülleri temizledim.

İstediğim şudur; Ödeme Koşulları sütununa bakacak orası BEFORE SHIPMENT içeriyorsa, YÜK ÇIKIŞ TARİHİnden bir hafta çıkartacak KALAN ÖDEME TARİHİne yazacak. ama AGAINST B/L yazıyorsa, YÜK VARIŞ TARİHİnden bir hafta çıkartacak KALAN TUTARIN ÖDEME TARİHİNE .



Ekli dosyayı görüntüle Formülleme DENEME.xlsx
 
Bunların sonucu nereye yazılacak?
 
Tekrar Merhaba,

Listede ki verileri formülleri temizledim.

İstediğim şudur; Ödeme Koşulları sütununa bakacak orası BEFORE SHIPMENT içeriyorsa, YÜK ÇIKIŞ TARİHİnden bir hafta çıkartacak KALAN ÖDEME TARİHİne yazacak. ama AGAINST B/L yazıyorsa, YÜK VARIŞ TARİHİnden bir hafta çıkartacak KALAN TUTARIN ÖDEME TARİHİNE .



Ekli dosyayı görüntüle 132752

Ekli formulu J2 hücresine yapıştırıp aşağı doğru çekermisniz.

Kod:
=EĞER(EĞERSAY(G2;"*AGAINST B/L*")>0;EĞER(E2=0;"Yük Varış Tarihi Boş";E2-7);EĞER(EĞERSAY(G2;"*BEFORE SHIPMENT*");EĞER(F2=0;"Yük Çıkış Tarihi Boş";F2-7);""))
 
Kod:
=EĞER(YADA(E2="";F2="");"Çıkış/Varış tarihi eksik";EĞER(BUL("AGAINST B/L";G2)>=1;E2-7;EĞER(BUL("BEFORE SHIPMENT";G2)>=1;F2-7;"")))

Ya da:

Kod:
=EĞER(E2="";"Varış tarihi yok";EĞER(F2="";"Çıkış tarihi yok";EĞER(BUL("AGAINST B/L";G2)>=1;E2-7;EĞER(BUL("BEFORE SHIPMENT";G2)>=1;F2-7;""))))

Ya da:

Kod:
=EĞER(BUL("AGAINST B/L";G2)>=1;E2-7;EĞER(BUL("BEFORE SHIPMENT";G2)>=1;F2-7;""))

Bu formüller temelde aynıdır. 3. formül tarihlerden kullanılacak olan boşsa hata verir. Diğerleri herhangi bir tarih boşsa "tarih yok" uyarısı verir.
 
Ekli formulu J2 hücresine yapıştırıp aşağı doğru çekermisniz.

Kod:
=EĞER(EĞERSAY(G2;"*AGAINST B/L*")>0;EĞER(E2=0;"Yük Varış Tarihi Boş";E2-7);EĞER(EĞERSAY(G2;"*BEFORE SHIPMENT*");EĞER(F2=0;"Yük Çıkış Tarihi Boş";F2-7);""))

Yaptığımda tüm hücreler veri gözükmüyor

Not: excel ingilizce
if ve Sumif olarak gereken yerleri düzelttim, ama türkçe ve ingilizce arasında düzeltilmesi gereken fark mevcut mudur?
 
Kod:
=EĞER(YADA(E2="";F2="");"Çıkış/Varış tarihi eksik";EĞER(BUL("AGAINST B/L";G2)>=1;E2-7;EĞER(BUL("BEFORE SHIPMENT";G2)>=1;F2-7;"")))

Ya da:

Kod:
=EĞER(E2="";"Varış tarihi yok";EĞER(F2="";"Çıkış tarihi yok";EĞER(BUL("AGAINST B/L";G2)>=1;E2-7;EĞER(BUL("BEFORE SHIPMENT";G2)>=1;F2-7;""))))

Ya da:

Kod:
=EĞER(BUL("AGAINST B/L";G2)>=1;E2-7;EĞER(BUL("BEFORE SHIPMENT";G2)>=1;F2-7;""))

Bu formüller temelde aynıdır. 3. formül tarihlerden kullanılacak olan boşsa hata verir. Diğerleri herhangi bir tarih boşsa "tarih yok" uyarısı verir.


AGAINST B/L kısmını doğru uyguluyor. Lakin BEFORE SHIPMENT olunca VALUE hatası vermekte.
 
Against ya da before bulduğunda 7 gün çıkarması gereken çıkış ya da varış tarihi hücresi boşsa formül sonucu -7 olacaktır. -7 diye bir tarih olmadığından doğal olarak değer hatası verecektir. Bu sorunu aşmak için ya ilk iki formülden birini kullanmalısınız ya da çıkış ve varış tarihlerini eksiksiz yazmalısınız.

Örneğin verdiğiniz dosyada 4. satırda (3. sıra veri) üretim 15/4; inceleme 20/4;yük çıkış 1/4 olan 90% AGAINST B/L bir veri mevcuttur. Verdiğiniz şarta göre AGAINST B/L bulunduğunda yük varış tarihinden 1 hafta yani 7 gün çıkarılması gerekmektedir. Bu veride yük varış tarihi hücresi boş olduğundan, excel o hücreyi boş=0 oalrak görmekte ve 7 gün çıkardığında -7 sonucunu bulmaktadır. Excel'de 1 ocak 1900'den itibaren her güne 1'den başlayarak bir sıra numarası verilmiştir ve negatif bir tarih bulunmamaktadır. dolayısıyla çıkış veya varış tarihi boş olan hücrelerde olmayan bir tarih nedeniyle hata oluşmaktadır.

Böyle bir hata olabileceğini ben zaten cevabımın son cümlesinde aşağıdaki şekilde belirtmiştim:

Bu formüller temelde aynıdır. 3. formül tarihlerden kullanılacak olan boşsa hata verir. Diğerleri herhangi bir tarih boşsa "tarih yok" uyarısı verir.
 
Yusuf44 yardım ve yönlendirmelerin için teşekkür ederim.

Daha önce ki mesajım ulaşmamış. Gecikme için kusura bakmayın.

Temel olarak formülde yorumunuzun son cümlesini dikkatli okuyup, 1 ve 2 formülü denediğimde Value hatası almıştım.
 
Geri
Üst