Veri doğrulama sayıyla başlayan değer girilmesini zorunlu yapma

Katılım
31 Aralık 2011
Mesajlar
378
Excel Vers. ve Dili
2016 türkçe
Altın Üyelik Bitiş Tarihi
08-10-2020
Merhabalar
Arkadaşlar örneğin a1 hücresine bir eğer girilecek. Ama ben bu değerinsayı ile başlamasını ardından "/" işareti ile devam etmesini ve devamında da tek bir harf "A, B, C" girilmesini istiyorum. Böyle bir şey formül ile mümkün olabilir mi?
Teşekkürler.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
İsteğe özel kısmında kullanacağınız formül; (Türkçe versiyon için, karşılıklarını bulmanız gerekir)

Kod:
=AND(ISNUMBER(LEFT(A1;1)+0);MID(A1;2;1)="/";ISTEXT(RIGHT(A1;1)))

1/A
8/C
4/B

gibi değerler girilebilir sadece....

.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Veri doğrulamada Özel seçeneğinde aşağıdaki formülü dener misiniz?

=VE(ESAYIYSA(SOLDAN(A1;1)*1);ESAYIYSA(SAĞDAN(A1;1)*1)=YANLIŞ;PARÇAAL(A1;2;1)="/";UZUNLUK(A1=3))
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
İsteğe özel kısmında kullanacağınız formül; (Türkçe versiyon için, karşılıklarını bulmanız gerekir)

Kod:
=AND(ISNUMBER(LEFT(A1;1)+0);MID(A1;2;1)="/";ISTEXT(RIGHT(A1;1)))

1/A
8/C
4/B

gibi değerler girilebilir sadece....

.

Haluk üstadım sizin önerinizde 1/dddd ve eğer hücre metin olarak biçimlenmişse 1/2'yi de kabul ediyor.
 
Katılım
31 Aralık 2011
Mesajlar
378
Excel Vers. ve Dili
2016 türkçe
Altın Üyelik Bitiş Tarihi
08-10-2020
Veri doğrulamada Özel seçeneğinde aşağıdaki formülü dener misiniz?

=VE(ESAYIYSA(SOLDAN(A1;1)*1);ESAYIYSA(SAĞDAN(A1;1)*1)=YANLIŞ;PARÇAAL(A1;2;1)="/";UZUNLUK(A1=3))
Merhaba
Hocam teşekkür ederim. 1-9 arasındaki sayıları kabul ediyor. Ancak bu sayı 12'ye kadar olsa tam olacak. Yani 1'den 12'ye kadar bu doğrulama işlemini yapabilir miyiz?
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Şöyle deneyin:

=YADA(VE(ESAYIYSA(SOLDAN(A1;2)*1);ESAYIYSA(SAĞDAN(A1;1)*1)=YANLIŞ;PARÇAAL(A1;3;1)="/";UZUNLUK(A1=4);SOLDAN(A1;2)*1<13);VE(ESAYIYSA(SOLDAN(A1;1)*1);ESAYIYSA(SAĞDAN(A1;1)*1)=YANLIŞ;PARÇAAL(A1;2;1)="/";UZUNLUK(A1=3)))

Not: cepten yazdım, deneyemedim, parantezleri doğru kapattım mı bilmiyorum.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
SAĞDAN, SOLDAN, PARÇAAL gibi formüller metin formülleridir ve sonuçları da metin biçimindedir. Sayıya dönüştürmek için 1 ile çarpmak ya da 0 ile toplamak gerekir.
 
Katılım
31 Aralık 2011
Mesajlar
378
Excel Vers. ve Dili
2016 türkçe
Altın Üyelik Bitiş Tarihi
08-10-2020
Şöyle deneyin:

=YADA(VE(ESAYIYSA(SOLDAN(A1;2)*1);ESAYIYSA(SAĞDAN(A1;1)*1)=YANLIŞ;PARÇAAL(A1;3;1)="/";UZUNLUK(A1=4);SOLDAN(A1;2)*1<13);VE(ESAYIYSA(SOLDAN(A1;1)*1);ESAYIYSA(SAĞDAN(A1;1)*1)=YANLIŞ;PARÇAAL(A1;2;1)="/";UZUNLUK(A1=3)))

Not: cepten yazdım, deneyemedim, parantezleri doğru kapattım mı bilmiyorum.
Merhaba
Yusuf bey formül hata vermedi. Ama "10/A, 10/B, 11/A" şeklinde değer girdiğimde doğru sonucunu üretiyor. Ancak "9/a, 9/b" şeklinde 10'dan küçük sayı girdiğimde hatalı sonuç döndürüyor. Bunu revize edebili miyiz?
 

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
Harfler sadece A-B-C ile mi sınırlı olacak?
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Bence bu durumda liste kullanmak daha doğru olur. Siz bir listeye girilebilecek değerleri kaydedin ve veri doğrulamada bu listeyi kullanın. Hem açılır listeden seçim imkanı da olur.
 
Katılım
31 Aralık 2011
Mesajlar
378
Excel Vers. ve Dili
2016 türkçe
Altın Üyelik Bitiş Tarihi
08-10-2020
Merhabalar
Sizlerin örneklerinden yola çıkarak sonunda şöyle bir formül geliştirdim. Şuanda çalışıyor.
=EĞERHATA(VE(UZUNLUK(A1)=BUL("/";A1;1)+1;VE(SAYIYAÇEVİR(SOLDAN(A1;BUL("/";A1;1)-1))>=9;SAYIYAÇEVİR(SOLDAN(A1;BUL("/";A1;1)-1))<=12);PARÇAAL(A1;BUL("/";A1;1);1)="/";VE(SAĞDAN(A1;1)>="A";SAĞDAN(A1;1)<="L"));YANLIŞ)
 

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

C++:
=VE(--SOLDAN(A1;BUL("/";A1)-1)>=1;--SOLDAN(A1;BUL("/";A1)-1)<=12;PARÇAAL(A1;BUL("/";A1)+1;1)>="A";PARÇAAL(A1;BUL("/";A1)+1;1)<="Z";UZUNLUK(A1)<=4)
 

Ekli dosyalar

Üst