• DİKKAT

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

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

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

Geri
Üst