Sadece eğer, düşeyara, indis ile

Katılım
25 Ocak 2013
Mesajlar
188
Excel Vers. ve Dili
2013 Professional Plus Türkçe
Arkadaşlar üzerinde çalıştığım ve bir an önce halletmem gereken bir konu var. Biraz karışık gibi ama bildiğimiz temel formüllerle halledilebilecek cinsten diye düşünmekteyim. Konunun özeti, ürünün geçmişe dönük irsaliye kontrolünün yapılması ve 5 farklı sonuç alınması.

Sadece küçük bir hatıra olması babında, konuyu tam ve çalışır halde çözebilecek ilk arkadaşımızın vereceği adrese Flex Ahşap Çerçeve Mantar Pano 45x60 Kargo dahil anında hediye olarak gönderilecektir.

Tüm açıklamaları ve örnek tablosu son mesajda ektedir.

İlgisi olanlara şimdiden teşekkürler.
 
Son düzenleme:

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
Arkadaşlar üzerinde çalıştığım ve bir an önce halletmem gereken bir konu var. Biraz karışık gibi ama bildiğimiz temel formüllerle halledilebilecek cinsten diye düşünmekteyim. Konunun özeti, ürünün geçmişe dönük irsaliye kontrolünün yapılması ve 5 farklı sonuç alınması.

Sadece küçük bir hatıra olması babında, konuyu tam ve çalışır halde çözebilecek ilk arkadaşımızın vereceği adrese Flex Ahşap Çerçeve Mantar Pano 45x60 Kargo dahil anında hediye olarak gönderilecektir.

Tüm açıklamaları ve örnek tablosu ektedir.

İlgisi olanlara şimdiden teşekkürler.
Tablonuzda B ve C sütunlarında SAYI değil de TARİH olmuş olsa formüllerin mantığını belirlemek daha kolay olabilirdi.

Bu şekilde düzenleyerek örnek tablonuzu eklerseniz, üzerinde çalışma yapılabilir.
 
Katılım
25 Ocak 2013
Mesajlar
188
Excel Vers. ve Dili
2013 Professional Plus Türkçe
İlginize teşekkürler. Ben aslında konuyu basitleştirmek adına öyle yaptım. Sonuçta tarih de olsa excel onu rakama çevirip işlem yapıyor. Tablodaki 0 değerleri 0.1.00 değerine karşılık geliyor, diğer rakamlar ise mesela 5 ise 5.1.00 tarihi olarak düşünülebilir.

Yine de anlaşılmaz ise düzenleyebilirim sorun değil.
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
İlginize teşekkürler. Ben aslında konuyu basitleştirmek adına öyle yaptım. Sonuçta tarih de olsa excel onu rakama çevirip işlem yapıyor. Tablodaki 0 değerleri 0.1.00 değerine karşılık geliyor, diğer rakamlar ise mesela 5 ise 5.1.00 tarihi olarak düşünülebilir.

Yine de anlaşılmaz ise düzenleyebilirim sorun değil.
Tarih formatında olması daha iyi olur kanaatindeyim.
Zira; 3 günlük kontrol yaparken, örnek: 31 Oca'tan sonra 1 Şubat geldiğinde
bunlar eğer sayı ise 1 değeri 31 den küçük olacaktı.
Oysa tarih olduğunda 1 Şubat 31 Ocaktan büyük olacaktır.

Tercih tabii ki sizin. Yardım alabilmeniz amacıyla, önerdim.
 
Katılım
25 Ocak 2013
Mesajlar
188
Excel Vers. ve Dili
2013 Professional Plus Türkçe
Tarih formatında olması daha iyi olur kanaatindeyim.
Zira; 3 günlük kontrol yaparken, örnek: 31 Oca'tan sonra 1 Şubat geldiğinde
bunlar eğer sayı ise 1 değeri 31 den küçük olacaktı.
Oysa tarih olduğunda 1 Şubat 31 Ocaktan büyük olacaktır.

Tercih tabii ki sizin. Yardım alabilmeniz amacıyla, önerdim.
Sizi anladım ama formülün çalışması sırasında ben sütunlara tarih koyduğumda da problem olmayacaktır, sonuçta yine 1 şubat > 31 Ocak olacaktır çünkü rakam değerleri o şekildedir.

Yani ben yanlış bilmiyorsam bu haliyle yazılacak formül tarihlerle de çalışabilecektir.

EK NOT: Zaten ben tabloyu normal tarih akışına göre bugünden geriye doğru sıralıyorum. Yani düşeyara hep eskiye doğru arayacak.
 
Katılım
23 Eylül 2004
Mesajlar
1,754
Excel Vers. ve Dili
Excel 2010 TR
Yapmak istediğinizde çelişkiler var.
Yada ben tam anlayamadım.

17 satırda Müşteri1 B=1 C=6 Tabloda Yok Yazıyor.
18 satırda Müşteri2 B=12 C=16 4 çıkarmışsınız işlemi?

Ekteki formule bir bakın nerelerde hata var detaylandıralım.

Kod:
=EĞER(EĞERSAY(A3:$A$25;A2)=0;"Tabloda Yok";EĞER(C2=0;"Kayıt Yok";EĞER(VE(C2<>0;B2<>0);C2-B2;EĞER(TOPLA.ÇARPIM(($A$2:$A$19=A2)*($B$2:$B$19>0)*($C$2:$C$19=0)*($B$2:$B$19))=0;"Karşılıksız";EĞER((C2-TOPLA.ÇARPIM(($A$2:$A$19=A2)*($B$2:$B$19>0)*($C$2:$C$19=0)*($B$2:$B$19)))>3;"FAZLA";"OK")))))
 

Ekli dosyalar

Son düzenleme:
Katılım
25 Ocak 2013
Mesajlar
188
Excel Vers. ve Dili
2013 Professional Plus Türkçe
Yapmak istediğinizde çelişkiler var.
Yada ben tam anlayamadım.

17 satırda Müşteri1 B=1 C=6 Tabloda Yok Yazıyor.
18 satırda Müşteri2 B=12 C=16 4 çıkarmışsınız işlemi?

Ekteki formule bir bakın nerelerde hata var detaylandıralım.

Kod:
=EĞER(EĞERSAY(A3:$A$25;A2)=0;"Tabloda Yok";EĞER(C2=0;"Kayıt Yok";EĞER(VE(C2<>0;B2<>0);C2-B2;EĞER(TOPLA.ÇARPIM(($A$2:$A$19=A2)*($B$2:$B$19>0)*($C$2:$C$19=0)*($B$2:$B$19))=0;"Karşılıksız";EĞER((C2-TOPLA.ÇARPIM(($A$2:$A$19=A2)*($B$2:$B$19>0)*($C$2:$C$19=0)*($B$2:$B$19)))>3;"FAZLA";"OK")))))
Öncelikle ilginiz için teşekkür ederim. Excel bir bağımlılık konusu ve bu tarz karışık ama basit formüllere dayanan işlemleri sevenler için iyi bir soru olabilir diye düşünüyorum, bakalım altından kalkabilecek miyiz. Ben halen üzerindeyim işin.

Sorunuza gelince, bu tarz sorular için Sebep başlıklı bir sütun hazırladım, orada bakarsanız "A17 altında müşteri1 yok" yazıyor, (anlaşılmadıysa hata benimdir), açıklaması şu şekilde yani tablo tarih olarak geçmişe (aşağıya) doğru indiği için ve belli dönem analizleri yapıldığı için haliyle o dönemin geçmişinde, kısacası tabloda o sütunun aşağısında müşteri bulunamamış demektir.


Ben şimdilik karşılıksızları ve sayı yazdırmaları çıkardım ama emin değilim ve testini yapıyorum, sıra diğerlerinde :).
 
Son düzenleme:
Katılım
25 Ocak 2013
Mesajlar
188
Excel Vers. ve Dili
2013 Professional Plus Türkçe
Soru güncellendi

Arkadaşlar sorudaki bir eksiklik giderilerek (Kırmızı yazılar ve kutular) değiştirildi.

Son Not : En güncel Dosya son mesajlarımda ektedir.
 
Son düzenleme:
Katılım
25 Ocak 2013
Mesajlar
188
Excel Vers. ve Dili
2013 Professional Plus Türkçe
Öncelikle ilginiz için teşekkür ederim. Excel bir bağımlılık konusu ve bu tarz karışık ama basit formüllere dayanan işlemleri sevenler için iyi bir soru olabilir diye düşünüyorum, bakalım altından kalkabilecek miyiz. Ben halen üzerindeyim işin.

Sorunuza gelince, bu tarz sorular için Sebep başlıklı bir sütun hazırladım, orada bakarsanız "A17 altında müşteri1 yok" yazıyor, (anlaşılmadıysa hata benimdir), açıklaması şu şekilde yani tablo tarih olarak geçmişe (aşağıya) doğru indiği için ve belli dönem analizleri yapıldığı için haliyle o dönemin geçmişinde, kısacası tabloda o sütunun aşağısında müşteri bulunamamış demektir.


Ben şimdilik karşılıksızları ve sayı yazdırmaları çıkardım ama emin değilim ve testini yapıyorum, sıra diğerlerinde :).

Bu arada zaman ayırdığınız formülü inceledim ve sayenizde farkettiğim bir eksik koşulu ekleyerek soruyu güncelledim. Çıkan mesaj ve güncelleme ile birlikte olması gereken durum resim ekindedir. Sorunun en güncel halini son mesajda bulabilirsiniz.
 

Ekli dosyalar

Son düzenleme:
Katılım
23 Eylül 2004
Mesajlar
1,754
Excel Vers. ve Dili
Excel 2010 TR
Dosyanızda yanlışlıklar mevcut Müşteri1 için C3-B13<3 Ok demişsiniz C3= 13 B13=3 Sonuç olarak 10 rakamı nasıl 3 den küçük olur. Bu karmaşalar bu şekilde çözülemez.


İşin ucunda minik ödülden bahsetmiştiniz ben onu "Teşekkür" Olarak algılamıştım yanılmışım. 25 TL akşam yemeği için olarak değiştirmişsiniz.

Bir yardım konusuna para ödülü gibi yaptırımlar getirildiğinde benim için o konu kapanmıştır.

(Yaptığınız işlem kötü olduğu için değil fakat bana ters gelen bir düşünce)
 
Katılım
25 Ocak 2013
Mesajlar
188
Excel Vers. ve Dili
2013 Professional Plus Türkçe
Düzeltme için teşekkür ederim, sadece b13=12 olarak değiştirdim, son mesajımda yenisi görülebilir. Tabloyu ve çıkarımlarını etkileyen bir durumu olmadı.

Ben de yanlış anlaşılmaktan ziyadesiyle imtina ettiğim için dikkat ederseniz "ödül" ifadesini "hediye" ile değiştirdim. Bahsettiğim çekincem de sizin tarafınızdan ifadelendirilmiş oldu. O yüzden haklısınız tabiiki.
Bilemiyorum, öteki taraftan da bakarsak, sadece; hiç tanımadığı birinin, hiç işine yaramayacak bir meselesi için zaman ayırıp kafa yoracak arkadaşım için gönülden gönüle bir teşekkür köprüsü inşa etmenin başka bir yolunu bulamamanın şaşkınlığı deyin en iyisi siz ona.
(Sonuç : Hediyeyi kaldırayım mı?, isteğe bağlı mı diyeyim?, devam mı edeyim? arada kaldım iyi mi:).)
 
Son düzenleme:
Katılım
23 Eylül 2004
Mesajlar
1,754
Excel Vers. ve Dili
Excel 2010 TR
Düzeltme için teşekkür ederim, sadece b13=12 olarak değiştirdim ve ekledim. Tabloyu ve çıkarımlarını etkileyen bir durumu olmadı.

Ben de yanlış anlaşılmaktan ziyadesiyle imtina ettiğim için dikkat ederseniz "ödül" ifadesini "hediye" ile değiştirdim. Bahsettiğim çekincem de sizin tarafınızdan ifadelendirilmiş oldu. O yüzden haklısınız tabiiki.

Bilemiyorum, öteki taraftan da bakarsak, sadece; hiç tanımadığı birinin, hiç işine yaramayacak bir meselesi için zaman ayırıp kafa yoracak arkadaşım için gönülden gönüle bir teşekkür köprüsü inşa etmenin başka bir yolunu bulamamanın şaşkınlığı deyin en iyisi siz ona.
(Sonuç : Hediyeyi kaldırayım mı?, isteğe bağlı mı diyeyim?, devam mı edeyim? arada kaldım iyi mi:).)

İsteğe bağlı kalsın.

Dosyanızda şimdi 8 satırdaki Müşteri3 için karşılıksız olması gerekmezmi sonuçta B sutunu tolu C sutunu 0 olan değer yok?
 
Katılım
25 Ocak 2013
Mesajlar
188
Excel Vers. ve Dili
2013 Professional Plus Türkçe
İsteğe bağlı kalsın.

Dosyanızda şimdi 8 satırdaki Müşteri3 için karşılıksız olması gerekmezmi sonuçta B sutunu tolu C sutunu 0 olan değer yok?

Evet teşekkürler. Öyleydi ama son anda üstten bir copy-paste olayı olmuş sanırım. Tüm algoritma şunu içeriyor; (formül D2'de)
(A Müşteri, B ve C tarih sütunları, D mesaj sütunu)
(=0 değeri için "boş", <>0 için "dolu" ifadeleri kullanıldı)


C2 boş(sıfır) ise "Kayıt Yok".
C2 dolu(<>0) ise,
------B2 dolu ise FARK yazdır.
------B2 boş ise A2'yi aşağıda ara
----------A2 aşağıda yoksa "Tabloda Yok"
----------A2 aşağıda varsa alt satırlarında B'leri kontrol et ve B'si dolu olan satırını ara,
----------------B'de dolu hücre(B*) varsa C*'ye bak;
--------------------C* dolu ise "Karşılıksız",
--------------------C* boş ise C2 ile B* kıyasla (tarih geçmişidir),
------------------------C2-B*>3 ise "FAZLA" (3 gün limitinden fazla)
------------------------C2-B*=<3 ise "OK" (3 gün limiti içinde)
----------------B'de dolu hücre yoksa son boşu bul (B**) ve hemen C2 ile C(**) kıyasla,
------------------------C2-C(**)>3 ise "Karşılıksız"
------------------------C2-C(**)=<3 ise "OK"

Tablo ve açıklamalar son mesajda ektedir.
 
Son düzenleme:
Katılım
23 Eylül 2004
Mesajlar
1,754
Excel Vers. ve Dili
Excel 2010 TR
Tekrar detaylandırmaya gerek yok satır satır aşağı doğru gidip çözmeye çalışıyorum.


15 satırda 2 sonucunu bulmuşsunu 17 satırda tabloda yok sonucunu bulmuşsunuz bunlardan 1 tanesi hatalı hangisi?
 
Katılım
25 Ocak 2013
Mesajlar
188
Excel Vers. ve Dili
2013 Professional Plus Türkçe
Tekrar detaylandırmaya gerek yok satır satır aşağı doğru gidip çözmeye çalışıyorum.


15 satırda 2 sonucunu bulmuşsunu 17 satırda tabloda yok sonucunu bulmuşsunuz bunlardan 1 tanesi hatalı hangisi?
Teşekkürler, mesaja uygun şekilde ikinciyi (C17) sıfır yapabilirsiniz.
 

Ekli dosyalar

Son düzenleme:
Katılım
23 Eylül 2004
Mesajlar
1,754
Excel Vers. ve Dili
Excel 2010 TR
Teşekkürler, mesaja uygun şekilde ikinciyi (C17) sıfır yapabilirsiniz.
Ekli formulu denermisiniz sonuç olarak.


Kod:
=EĞER(C2=0;"Kayıt Yok";EĞER(VE(C2<>0;B2<>0);C2-B2;EĞER(EĞERSAY(A3:$A$24;A2)=0;"Tabloda Yok";EĞER(TOPLA.ÇARPIM(($A$2:$A$22=A2)*($B$2:$B$22>0)*($C$2:$C$22=0)*($B$2:$B$22))=0;"Karşılıksız";EĞER((C2-TOPLA.ÇARPIM(($A$2:$A$22=A2)*($B$2:$B$22>0)*($C$2:$C$22=0)*($B$2:$B$22)))>3;"FAZLA";"OK")))))
 
Katılım
25 Ocak 2013
Mesajlar
188
Excel Vers. ve Dili
2013 Professional Plus Türkçe
Sonuca Yakınız

Ekli formulu denermisiniz sonuç olarak.


Kod:
=EĞER(C2=0;"Kayıt Yok";EĞER(VE(C2<>0;B2<>0);C2-B2;EĞER(EĞERSAY(A3:$A$24;A2)=0;"Tabloda Yok";EĞER(TOPLA.ÇARPIM(($A$2:$A$22=A2)*($B$2:$B$22>0)*($C$2:$C$22=0)*($B$2:$B$22))=0;"Karşılıksız";EĞER((C2-TOPLA.ÇARPIM(($A$2:$A$22=A2)*($B$2:$B$22>0)*($C$2:$C$22=0)*($B$2:$B$22)))>3;"FAZLA";"OK")))))
Formülünüz sonuca çok yakın, (FAZLA ve OK ler çıkıyor, tabloda yok ve karşılıksız çıkıyor) ama B'de dolu satır bulamazsa kıyaslama yapmıyor ve karşılıksız veriyor. Ben topla.çarpımlardaki aramayı aşağı kaydırması gerektiği için $ ları kaldırarak denedim (altta) ama yine çıkarmadı, hatta hiç değişiklik olmadı bile nedense:). (sizinki hep ilk satırdan itibaren arıyor).
Resme bakabilir misiniz?

=EĞER(C531=0;"Kayıt Yok";
EĞER(VE(C531<>0;B531<>0);C531-B531;
EĞER(EĞERSAY(A532:$A$609;A531)=0;"Tabloda Yok";
EĞER(TOPLA.ÇARPIM(($A531:$A$609=A531)*($B531:$B$609>0)*($C531:$C$609=0)*($B531:$B$609))=0;"Karşılıksız";
EĞER((C531-TOPLA.ÇARPIM(($A531:$A$609=A531)*($B531:$B$609>0)*($C531:$C$609=0)*($B531:$B$609)))>3;"FAZLA";"OK")))))
 

Ekli dosyalar

Son düzenleme:
Katılım
23 Eylül 2004
Mesajlar
1,754
Excel Vers. ve Dili
Excel 2010 TR
Formülünüz sonuca çok yakın, ancak şu anki haliyle OK mesajı hiç çıkarmıyor, ben topla.çarpımlardaki aramayı aşağı kaydırması gerektiği için $ leri kaldırarak denedim (altta) ama yine çıkarmadı :) (Hep ilk satırdan itibaren arıyor). Resme bakabilir misiniz?

=EĞER(C531=0;"Kayıt Yok";
EĞER(VE(C531<>0;B531<>0);C531-B531;
EĞER(EĞERSAY(A532:$A$609;A531)=0;"Tabloda Yok";
EĞER(TOPLA.ÇARPIM(($A531:$A$609=A531)*($B531:$B$609>0)*($C531:$C$609=0)*($B531:$B$609))=0;"Karşılıksız";
EĞER((C531-TOPLA.ÇARPIM(($A531:$A$609=A531)*($B531:$B$609>0)*($C531:$C$609=0)*($B531:$B$609)))>3;"FAZLA";"OK")))))
Ekteki dosyada Sayfa 3 bakarmısınız.
 
Son düzenleme:
Katılım
25 Ocak 2013
Mesajlar
188
Excel Vers. ve Dili
2013 Professional Plus Türkçe
Test için kullanabilmeniz için şu an baktığım tabloyu ekledim. 3 renkte gösterdiğim yerlerde filtre yapabilirsiniz.
Test tablosunda DURUM2 sütununda formülü biraz daha geliştirdim. Ancak topla çarpım formülüne çok aşina olmadığım için eksik yerler kaldı. En büyük sorun aşağıya kadar B'de dolu hücre bulamadığında C2 ile son C hücresini kıyaslatamıyoruz. (Ayrı olması için formülün o kısmına "İrs.siz Karşılıksız" mesajı koydum)

Renkli hücreleri filtre yapınız.
 

Ekli dosyalar

Üst