Eksik Fatura Numaralarının Sıralı Listesi

  • Konuyu başlatan Konuyu başlatan 52779
  • Başlangıç tarihi Başlangıç tarihi

Kısa Açıklama

Eksik Fatura Numaralarının Sıralı Listesi isimli başlıkta, ilgili işlemlere dair detaylar yer almaktadır.
Selamlar,

Soruyla ilgili gerekli açıklamaları resim üzerinde görebilirsiniz.
Kısaca,
Eksik olan Fatura Numaralarının (Seri No + Fatura No) alfabetik sıralı listesini nasıl bir formülle oluşturabiliriz.

R02.webp


Soruya ait dokuman ektedir...
Teşekkürler şimdiden...
 

Ekli dosyalar

Merhabalar faturaların son 5 hanesi hep rakamdan oluşuyorsa şöyle olabilir.
Formül
=LET(b;B2:B18;m;SIRALA(b);XD;LET(c;SAĞDAN(m;5);r;YERİNEKOY(m;c;"");s;BENZERSİZ(r);u;ÇAPRAZARA(s;r;c);K;ÇAPRAZARA(s;r;c;;;-1)-u;x;MAK(K);y;SIRALI(;x);SÜTUNA(EĞER(y<=K;s;z);3)&METNEÇEVİR(SÜTUNA(EĞER(y<=K;y+u-1;z);3);"00000"));FİLTRE(XD;EĞERSAY(b;XD)=0))
 
Ben de alternatif bir UDF - KTF (Kullanıcı Tanımlı Fonksiyon) vereyim.
Verdiğim kodu boş bir MODULe ekleyin.
F2 hücresine =EKSIKLER(B2:B18) veya =eksikler(B2:B18) formülünü uygulayın.

Dikkat: Verdiğim kodda 2 yerde bulunan Application.Count ibarelerinin Application.CountIf olarak değiştirilmesi gerekiyor.
Forum yazılımımız Countif ibaresine engel oluyor sanırım.

VBA:
İndirmek için giriş yapmanız gerekmektedir.
(24 satır)
 
Merhabalar faturaların son 5 hanesi hep rakamdan oluşuyorsa şöyle olabilir.
Formül
=LET(b;B2:B18;m;SIRALA(b);XD;LET(c;SAĞDAN(m;5);r;YERİNEKOY(m;c;"");s;BENZERSİZ(r);u;ÇAPRAZARA(s;r;c);K;ÇAPRAZARA(s;r;c;;;-1)-u;x;MAK(K);y;SIRALI(;x);SÜTUNA(EĞER(y<=K;s;z);3)&METNEÇEVİR(SÜTUNA(EĞER(y<=K;y+u-1;z);3);"00000"));FİLTRE(XD;EĞERSAY(b;XD)=0))
Çok teşekkür ediyorum..
Ellerinize sağlık...
 
Ben de alternatif bir UDF - KTF (Kullanıcı Tanımlı Fonksiyon) vereyim.
Verdiğim kodu boş bir MODULe ekleyin.
F2 hücresine =EKSIKLER(B2:B18) veya =eksikler(B2:B18) formülünü uygulayın.

Dikkat: Verdiğim kodda 2 yerde bulunan Application.Count ibarelerinin Application.CountIf olarak değiştirilmesi gerekiyor.
Forum yazılımımız Countif ibaresine engel oluyor sanırım.
Çok teşekkür ediyorum.
Gerekli değişiklikleri yapıp, formülü uyguladığımda, mükemmel çalıştı ve dökülmeli olarak sonuçları tam olarak üretti.
Ellerinize sağlık...
 
Ben de, formülle çözüm olarak, 2 alternatif çözüm ekleyeyim.

REDUCE - LAMBDA işlevleriyle
Kod:
İndirmek için giriş yapmanız gerekmektedir.
(1 satır)
ya da
METİNBÖL - METİNBİRLEŞTİR işlevleri ile
Kod:
İndirmek için giriş yapmanız gerekmektedir.
(1 satır)
 
Çözüm
@Ömer BARAN

Makroyu pek bilmiyorum, ama yine de
2 sorum olacak...

Değerler her zaman B2:B18 aralığında olmayabilir. Örneğin A3 : A50 gibi bir aralıkta da olabilir.

1 - Bu durumda,
kodlardaki Application.Count(Range("B2:B18"),.... Range("B2:B18") yerlerine (kodda 2 adet bu ibareden var)
Application.Count(alan, .....
şeklinde yazmak daha uygun olacağını düşünüyorum... Bunu, alan ibaresi zaten işlevin ana parametresi olduğundan diyorum..

2 - Kodun 4. satırındaki
For a = 1 To 17
ifadesindeki 17 ibaresi için de
For a = 1 To UBound(v)
şeklinde yazmanın daha uygun olacağını düşünüyorum... Bunu da , kodun ilk satırındaki v = alan.Value2 ifadesinden getiriyorum..

Doğru mu düşünüyorum acaba?
Teşekkürlerimle...
 
Önceki cevabımdaki kodu yeniden düzenledim, sayfayı yenileyerek kontrol edersiniz ( Count - CountIf düzeltmesi unutulmasın) .

Kodu önce normal makro kodu olarak hazırlayıp denerken tüm alanlar belgedeki gibi idi.
KTF'ye dönüştürürken de bazı şeyler dikkatimden kaçmış.
 
Merhaba Sn. @veyselemre

Alternatif cevap için teşekkürler.
Konu sahibi, örnek belgede,
fatura numaralarının SAYIsal kısımlarının 5 karakter olduğunun varsayılacağını belirttiği için
sizin kodlamanız da doğal olarak bu kurala göre çalışıyor.

Fatura numaralarının SAYIsal kısmının uzunluğunu ESNEK hale getirecek kod değişikliği de olursa memnun oluruz.
 
Merhaba Sn. @veyselemre

Alternatif cevap için teşekkürler.
Konu sahibi, örnek belgede,
fatura numaralarının SAYIsal kısımlarının 5 karakter olduğunun varsayılacağını belirttiği için
sizin kodlamanız da doğal olarak bu kurala göre çalışıyor.

Fatura numaralarının SAYIsal kısmının uzunluğunu ESNEK hale getirecek kod değişikliği de olursa memnun oluruz.
Merhaba, her seriye göre uzunluk esnek hale getirilmiştir.
Kod:
İndirmek için giriş yapmanız gerekmektedir.
(49 satır)
 
Benzer Konular Popüler İçerikler Daha Fazlası
Geri
Üst