Veri doğrulama formül yardım

kadir78

Altın Üye
Katılım
6 Nisan 2016
Mesajlar
227
Excel Vers. ve Dili
office 2019
Altın Üyelik Bitiş Tarihi
30-12-2026
İyi günler. Veri doğrulama Özel bölümüne D5 : D40 arasındaki hücrelerde ilk 5 karakteri rakam ve son iki karakteri -1 , -2 , -3 ... -9 a kadar veriler dışında başka bir değer yazılamasın formülü için yardım edermisiniz. Örnek olarak;

12345
12345-1
12335-9
23451
45458-7
35981
35981-3
21216
76599
76757-4
56761-5

vb. veriler dışında başka bir değer yazılamasın.
Teşekkürler.
 

Cengiz Demir

Altın Üye
Katılım
29 Haziran 2018
Mesajlar
604
Excel Vers. ve Dili
Office 365 TR (32 Bit)
Altın Üyelik Bitiş Tarihi
05-04-2025
Anladığım kadarı ile statik listeden almayacak. Dinamik bir formül olacak. Örneğin. 76757-4 de olabilir. 76757-3 de olabilir.

5 karakterli numerik verileri kabul edecek ve 7 karakterli xxxxx-y ( x ler numerik y 1 ile 9 arası numerik olacak)

Formulle yapılabilir mi ? Bilemiyorum.

Merhaba

Bu mudur?
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
Anladığım kadarı ile statik listeden almayacak. Dinamik bir formül olacak. Örneğin. 76757-4 de olabilir. 76757-3 de olabilir.

5 karakterli numerik verileri kabul edecek ve 7 karakterli xxxxx-y ( x ler numerik y 1 ile 9 arası numerik olacak)

Formulle yapılabilir mi ? Bilemiyorum.
Merhaba
Örnek çözüm dosyasına yorum yaparak; formülle yapılabilir mi? bilmiyorum demişsiniz.
Yapılmışya :)
 

Cengiz Demir

Altın Üye
Katılım
29 Haziran 2018
Mesajlar
604
Excel Vers. ve Dili
Office 365 TR (32 Bit)
Altın Üyelik Bitiş Tarihi
05-04-2025
"ilk 5 karakteri rakam ve son iki karakteri -1 , -2 , -3 ... -9 a kadar veriler dışında başka bir değer yazılamasın formülü için yardım edermisiniz. "

Ben bu cümleye göre yorum yaparak yazmıştım.
Bu cümleden , sabit bir listeden değil, dinamik bir formül oluşturulup ona göre işlem yapılacak gibi algıladım.
- Cümleye göre -8, -6, -2 gibi kullanımı da olacak gibi anlaşılıyor. Ama örnek verilerinde bunlar kullanılmıyor..
- Cümleye göre ilk 5 karekteri değişken olacak gibi anlaşılıyor. 12345 de olabilir 54321 de olabilir.
- Son olarak örnek verilerin, bu koşullara uyan bazı verilerden oluştuğunu ve gerçek kullanımda daha farklı veri girişleri de yapılabilieceğini düşündüm.

Eğer örnek olarak verilen veriler haricinde, başka türde veri girişi yapılmaycaksa tabiki de sizin yapmış olduğunuz doğrulama işlemi doğru.
Ben yanlış anlamışım. :)

Ek: Korhan üstad benim düşündüğüm gibi formülüze etmiş. Liste ile değil. Dinamik formül olarak çalışıyor.

Merhaba
Örnek çözüm dosyasına yorum yaparak; formülle yapılabilir mi? bilmiyorum demişsiniz.
Yapılmışya :)
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
"ilk 5 karakteri rakam ve son iki karakteri -1 , -2 , -3 ... -9 a kadar veriler dışında başka bir değer yazılamasın formülü için yardım edermisiniz. "

Ben bu cümleye göre yorum yaparak yazmıştım.
Bu cümleden , sabit bir listeden değil, dinamik bir formül oluşturulup ona göre işlem yapılacak gibi algıladım.
- Cümleye göre -8, -6, -2 gibi kullanımı da olacak gibi anlaşılıyor. Ama örnek verilerinde bunlar kullanılmıyor..
- Cümleye göre ilk 5 karekteri değişken olacak gibi anlaşılıyor. 12345 de olabilir 54321 de olabilir.
- Son olarak örnek verilerin, bu koşullara uyan bazı verilerden oluştuğunu ve gerçek kullanımda daha farklı veri girişleri de yapılabilieceğini düşündüm.

Eğer örnek olarak verilen veriler haricinde, başka türde veri girişi yapılmaycaksa tabiki de sizin yapmış olduğunuz doğrulama işlemi doğru.
Ben yanlış anlamışım. :)

Ek: Korhan üstad benim düşündüğüm gibi formülüze etmiş. Liste ile değil. Dinamik formül olarak çalışıyor.
Merhaba
Korhan Beyin yaptığı ile benimki hemen hemen aynı, siz benim dosyayı yeterince incelememişsiniz.

Ben küçük bir noktayı atlamışım.
7 karakterli veri girişinde ilk karakterin sayı olması kriterini atlamışım, oysa 5 karakterli verilerde bu var.
Korhan Beyden Farkı; 6. karakterin "-" olması koşulu.
Ben ayraç olarak "-" şartı koydum, Korhan Bey, son 2 karakterin sayı olma koşulunu koymuş. 12345-1 , 12345+1 , 12345,1 aynı sonucu döndürür, oysa ayraç olması gerekir. Burada ayraç olarak "/" de kullanılabilir. Kullanıcı joker karakter kullanmayı da seçebilir.
Buna göre (PARÇAAL(G2;6;1)="/") şeklinde düzeltmek gerekir.

Yanlış anlaşılmasın, kim doğru yaptı kim yanlış yaptı meselesi değil.
Bu tür sorular beyin jimnastiği olarak görür çözümler ararım, başka çözümler gördüğümde de mutlu olurum.
Soruyu başkasına değil kendime zevk için çözerim.
 

Ekli dosyalar

Cengiz Demir

Altın Üye
Katılım
29 Haziran 2018
Mesajlar
604
Excel Vers. ve Dili
Office 365 TR (32 Bit)
Altın Üyelik Bitiş Tarihi
05-04-2025
235693

Kusura bakmayın.
Ben üst taraftaki sarı alana bakıyormuşum. Sizin düzenleme yaptığınız alan alttaki alanmış ?
Özür dilerim sizi de uğraştırdım.. ;)

Merhaba
Korhan Beyin yaptığı ile benimki hemen hemen aynı, siz benim dosyayı yeterince incelememişsiniz.

Ben küçük bir noktayı atlamışım.
7 karakterli veri girişinde ilk karakterin sayı olması kriterini atlamışım, oysa 5 karakterli verilerde bu var.
Korhan Beyden Farkı; 6. karakterin "-" olması koşulu.
Ben ayraç olarak "-" şartı koydum, Korhan Bey, son 2 karakterin sayı olma koşulunu koymuş. 12345-1 , 12345+1 , 12345,1 aynı sonucu döndürür, oysa ayraç olması gerekir. Burada ayraç olarak "/" de kullanılabilir. Kullanıcı joker karakter kullanmayı da seçebilir.
Buna göre (PARÇAAL(G2;6;1)="/") şeklinde düzeltmek gerekir.

Yanlış anlaşılmasın, kim doğru yaptı kim yanlış yaptı meselesi değil.
Bu tür sorular beyin jimnastiği olarak görür çözümler ararım, başka çözümler gördüğümde de mutlu olurum.
Soruyu başkasına değil kendime zevk için çözerim.
 

kadir78

Altın Üye
Katılım
6 Nisan 2016
Mesajlar
227
Excel Vers. ve Dili
office 2019
Altın Üyelik Bitiş Tarihi
30-12-2026
Değerli üstadlar, verilerin statik değilde, dinamik veri olduğunu yazmayı unutmuşum kusuruma bakmayın. Hepinize çok teşekkür ediyorum. Emeklerinize sağlık olsun.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,243
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

Bence de beyin jimnastiği açısından aslında güzel bir soru olmuş. Bazen sorulara çalışma esnasında cevap verdiğimiz için bazı detaylar gözümüzden kaçıyor. Ben aslında sondaki ayıraç bölümünü de değerlendirmiştim. Fakat cevap yazarken sanırım formülü revize etmeyi atladım.

@uzmanamele'nin analiz ettiği gibi benim önerimde ayıraç kısmı sorun çıkarıyor. Bu bağlamda konuyu yeniden irdeledim.

Aslında REGEXP özelliği excele fonksiyon olarak eklense bu tarz desen doğrulamalarında birçok sorun çözülecektir. Umuyorum yakın zamanda Microsoft tarafından METİN fonksiyonlarına (Ofis 365 için) yapılan güncellemelere bu özellikte en kısa sürede eklenir.

Biraz araştırma yapınca bu işlemi Kullanıcı Tanımlı Fonksiyon (KTF) ile daha kolay bir şekilde yapabileceğimiz sonucuna vardım. Tabi ki bu kullanım tercihe bağlıdır. Bazı üyelerimiz KTF/Makro olaylarına pek sıcak bakmıyorlar.

Ekteki örnek dosyada bu yönde çözümleri yeniledim. Eksikleri olabilir. İhtiyaca göre revize edilebilir.
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,243
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Merhaba,

KTF'de kullandığım desende 5 basamaklı sayı girişine müsade etmediğini gördüm. Küçük bir revize yaptım. İndirenler varsa dosyanın son halini edinmelerini tavsiye ederim.
 
Üst