Excel çalışma sayfasında bir hücreye birden fazla veri doğrulama kuralı nasıl uygulanır?
Bir Excel çalışma sayfasında, bir hücreye tek bir veri doğrulama kuralı uygulamak oldukça yaygındır. Bu, veri tutarlılığını ve doğruluğunu korumaya yardımcı olur. Ancak aynı hücrede birkaç doğrulama kriterini zorunlu kılmak istediğiniz senaryolar da olabilir; örneğin, ya geçerli bir sayıya ya da belirli bir listeden bir değere izin vermek veya belirli metin gereksinimlerini izin verilen Tarih Aralığı ile birleştirmek. Excel'de bu tür daha karmaşık veri doğrulama gereksinimlerini yönetmek, veri giriş süreçlerinizi daha iyi kontrol etmenize, hataları önlemeye ve veri kalitesini artırmaya yardımcı olur.
Aşağıda, Excel’de tek bir hücreye birden fazla veri doğrulama kuralı uygulamak için çeşitli pratik örnekler yer almaktadır. Her örnek farklı bir senaryoyu ele alarak, ihtiyaçlarınıza en uygun yöntemi kolayca seçmenizi sağlar. Ayrıca, daha fazla esneklik veya gelişmiş mantık gerektiren durumlar için VBA gibi alternatif çözümlere de yer verilmiştir.
Bir hücreye çoklu veri doğrulaması uygulama (Örnek 1)
Bir hücreye çoklu veri doğrulaması uygulama (Örnek 2)
Bir hücreye çoklu veri doğrulaması uygulama (Örnek 3)
VBA kullanarak çoklu veri doğrulaması uygulama (Gelişmiş)
Bir hücreye çoklu veri doğrulaması uygulama (Örnek 1)
Diyelim ki bir hücreyi, aşağıdaki iki kriterden birini karşılayan değerlere izin verecek şekilde yapılandırmak istiyorsunuz:
- Girilen değer bir sayıysa, 100’den küçük olmalıdır.
- Giriş metinse, bu metnin belirli bir listede yer alması gerekir (örneğin D2 ila D7 aralığında).
Bu durum, aynı alanda niceliksel kodlar veya önceden tanımlanmış kategorik yanıtlar toplamanız gerektiğinde sıkça karşılaşılan bir senaryodur. Doğrulama kurallarını birleştirerek hem sayılar hem de metinler için ayrı alanlara gerek kalmaz; bu da hem açıklığı hem de verimliliği artırır.

1. Çoklu veri doğrulama kriteri uygulamak istediğiniz hücreyi veya aralığı seçin. Ardından, Şerit menüsünden aşağıda gösterildiği gibi Veri sekmesindeki Veri Doğrulama > Veri Doğrulama seçeneğine tıklayın:

2.Veri Doğrulamailetişim kutusunda Ayarlarsekmesine gidin ve aşağıdaki şekilde yapılandırın:
- (1.) İzin Ver açılır listesinden Özel seçin.
- (2.)Formülalanına aşağıdaki formülü girin:=OR(A2<,$C$2,COUNTIF($D$2:$D$7,A2)=1)
Not: Bu formülde A2, doğrulanacak hücrenin adresidir; C2, izin verilen en yüksek değeri içerir ve D2:D7, izin verilen metin girişlerini listeler. Gerekirse bu başvuruları çalışma sayfanıza göre güncelleyin.

3. Uygulamak için Tamam düğmesine tıklayın. Artık seçili hücreler yalnızca 100’den küçük sayıları veya D2:D7 aralığında yer alan metin dizelerini kabul eder. Kullanıcı, her iki koşulu da karşılamayan bir değer girmeye çalışırsa Excel bir uyarı iletisi gösterir; böylece kullanıcılar geçersiz girişleri hemen fark eder.

Bu yöntem, kural sınırları net olan basit senaryolar için idealdir. Ancak koşullu uyarılar veya çok adımlı mantık gibi daha ince ayarlı ve etkileşimli gereksinimler söz konusu olduğunda formül tabanlı veri doğrulamanın sınırlamaları olabilir. Böyle durumlarda aşağıda tanıtılan VBA yöntemi daha fazla esneklik sunabilir.
Bir hücreye çoklu veri doğrulaması uygulama (Örnek 2)
Bu senaryoda, veri girişine yalnızca aşağıdaki iki koşuldan birini karşılayan durumlarda izin vermek isteyebilirsiniz:
- Girilen değer tam olarak "Kutools for Excel" metni olsun
- Girilen değer 12/1/2017 ile 12/31/2017 tarihleri arasında bir tarih olsun
Bu tür çoklu doğrulama, anketinizde veya veri formunuzda ya belirli bir metin dizesi olarak kesin bir onay koduna ya da proje süresi içindeki bir tarihe ihtiyaç duyduğunuzda son derece pratiktir.

1. Hedef hücre(ler)iniz için Veri Doğrulama iletişim kutusunu açın. İletişim kutusunda aşağıdaki adımları uygulayın:
- (1.) Ayarlar sekmesine gidin.
- (2.)Özel seçeneğini, İzin Ver açılır listesinden seçin.
- (3.)Formülalanına şu formülü yazın:=OR(A2=$C$2,AND(A2>,=DATE(2017,12,1), A2<,=DATE(2017,12,31)))
Not: Burada A2 doğrulama hücresini ifade eder, C2 hedef metin olan "Kutools for Excel" değerini içermelidir ve tarih aralığı DATE(2017,12,1) ile DATE(2017,12,31) arasında tanımlanmıştır. Sayfa düzeninize göre başvuruları güncelleyin.

2. Onaylamak için Tamam düğmesine tıklayın. Hücre(ler) artık yalnızca belirtilen metni veya tanımlanan aralıkta bir tarihi kabul eder. Bu sınırların dışındaki herhangi bir giriş türü veya metin engellenir ve aşağıda gösterildiği gibi anında geri bildirim alınır:

Bu yaklaşım, yalnızca tam eşleşmelerin veya sabit tarih değerlerinin kabul edildiği katı giriş senaryolarında iyi sonuç verir. Ancak doğrulamanız karmaşık bağımlılıklar, hesaplamalar veya kullanıcı etkileşimi içeriyorsa, daha fazla kontrol sağlamak adına VBA tabanlı bir çözümü değerlendirmeniz önerilir.
Bir hücreye çoklu veri doğrulaması uygulama (Örnek 3)
Üçüncü örnekte, hücrenin yalnızca belirli başlangıç metnine ve buna karşılık gelen karakter sayısına sahip girişlere izin vermesi gereken bir durumu ele alalım:
- Hücre "KTE" ile başlamalı ve tam olarak 6 karakter uzunluğunda olmalıdır
- Ya da "www" ile başlamalı ve tam olarak 10 karakter uzunluğunda olmalıdır
Bu tür kriterler, kodlar veya URL’ler için biçim standartlarını zorunlu kıldığınızda oldukça yaygındır. Karakter uzunluğu ve önek kontrolleri uygulamak, giriş hatalarını önemli ölçüde azaltır.

Bunu gerçekleştirmek için aşağıdaki formülle veri doğrulamasını ayarlayın:
1. Veri Doğrulama iletişim kutusunu açın. Ayarlar bölümünde aşağıdaki adımları tamamlayın:
- (1.) Ayarlar sekmesini seçin.
- (2.) İzin Ver açılır listesinden Özel seçeneğini seçin.
- (3.) Formül alanına şunu girin:=OR(AND(LEFT(A2,3)="KTE",LEN(A2)=6),AND(LEFT(A2,3)="www",LEN(A2)=10))
Not: Gerekirse A2 ifadesini gerçek hücre başvurunuzla değiştirin. Ayrıca "KTE", "www" ve karakter sayılarını kendi bağlamınızda kullanmak üzere özelleştirebilirsiniz.

2. Tamam düğmesine tıklayın. Hücre artık önek ve uzunluk kurallarınıza uyan değerleri kabul eder. Bu kurallardan herhangi birini ihlal eden girişler, aşağıda gösterildiği gibi bir doğrulama hatası tetikler:

İpucu: Aklınızda başka çok kriterli doğrulamalar varsa, gereksinimlerinize uygun özel formüller oluşturmak için Excel’in yerleşik işlevlerini kullanabilirsiniz.
Formüle dayalı doğrulamanın bir sınırlaması, kurallar karmaşıklaştıkça veya etkileşimli hale geldiğinde (örneğin özel hata mesajları görüntülemek veya dinamik olarak değişen kriterleri işlemek istediğinizde) bu kuralların yönetilmesi ve düzenlenmesinin zorlaşabilmesidir. Bu tür durumlarda VBA çözümünü kullanmak, esnekliği büyük ölçüde artırabilir.
VBA kullanarak çoklu veri doğrulaması uygulama (Gelişmiş)
Formüle dayalı veri doğrulaması yeterli olmadığında—örneğin birden fazla faktöre göre doğrulama yapılması, diğer hücre değerlerine bağlı olarak değişen kuralların uygulanması veya özel gerçek zamanlı mesajların görüntülenmesi gerekiyorsa—gelişmiş veya dinamik doğrulama kurallarını bir hücreye uygulamak için VBA (Visual Basic for Applications) makrolarından yararlanabilirsiniz.
Tipik senaryolar şunlardır:
- İki veya daha fazla eş zamanlı koşula göre giriş doğrulama
- Ayrıntılı yönergeler içeren açılır mesajlar gibi kullanıcı etkileşimine izin verme
- Geçersiz verileri otomatik olarak geri alma ve özel talimatlar sağlama
Aşağıda,B2hücresine girilen verinin şu koşullardan birini sağlaması gereken bir VBA çözüm örneği verilmiştir:
- 1 ile 50 arasında bir tam sayı olmalıdır
- VEYA D2:D5
Not: İhtiyacınıza göre kodda kriterleri, hedef aralıkları veya doğrulama mantığını özelleştirebilirsiniz.
1. Alt+F11 tuşlarına basarak Visual Basic for Applications düzenleyicisini açın. VBA düzenleyicide, Proje bölmesinden çoklu veri doğrulaması eklemek istediğiniz çalışma sayfasına çift tıklayın. Ardından aşağıdaki makroyu o sayfanın kod penceresine kopyalayın:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ValidList As Range
Dim InputValue As Variant
Dim IsValid As Boolean
Dim xTitleId As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
' Only validate B2 (you can set this to your desired cell or range)
If Not Intersect(Target, Range("B2")) Is Nothing Then
InputValue = Target.Value
Set ValidList = Range("D2:D5") ' Change as needed
IsValid = False
' Check for whole number between 1 and 50
If IsNumeric(InputValue) And InputValue = Int(InputValue) Then
If InputValue >= 1 And InputValue <= 50 Then
IsValid = True
End If
End If
' Check if input matches allowed list
If WorksheetFunction.CountIf(ValidList, InputValue) > 0 Then
IsValid = True
End If
If Not IsValid Then
MsgBox "Entry must be an integer between 1 and 50 OR one of the values listed in D2:D5.", vbExclamation, xTitleId
Application.EnableEvents = False
Target.ClearContents
Application.EnableEvents = True
End If
End If
End Sub 2.B2 hücresine değerler girmeyi deneyin. 1 ile 50 arasında bir tam sayı veya D2:D5 aralığında yer alan bir kelime girerseniz, girişiniz korunur. Aksi takdirde bir uyarı mesajı görüntülenir ve geçersiz giriş hemen silinir. Hedef hücre(ler)i ile geçerli değerler aralığını, ihtiyaçlarınıza göre VBA içinde özelleştirebilirsiniz.
İpuçları ve Sorun Giderme:
- VBA'yı çalıştırmadan önce mutlaka çalışma kitabınızı kaydedin; çünkü yanlış yazılmış bir kod veri kaybına yol açabilir.
- Çalışma sayfanızda birden fazla doğrulama hücresi varsa, kodu yalnızca B2’yi değil, istediğiniz aralığı doğrulayacak şekilde özelleştirebilirsiniz.
- Kod çalışmazsa, makroların etkinleştirildiğinden ve kodun doğru çalışma sayfasında bulunduğundan emin olun.
- İhtiyacınıza göre, kodu farklı mesajlar göstermek veya geçersiz girişleri kaydetmek üzere özelleştirebilirsiniz.
VBA tabanlı çözümler son derece esnektir ve gelişmiş doğrulama ihtiyaçlarınız için idealdir. Ancak, makroların Excel ortamınızda VBA'nın etkinleştirilmesini gerektirdiğini ve tüm güvenlik ayarlarında kullanılamayabileceğini unutmayın.
Özetle, Excel’de bir hücreye birden fazla doğrulama kuralı uygularken, en yaygın ve basit ihtiyaçlar için formüle dayalı yöntemleri tercih edebilir; daha dinamik ve sofistike veri doğrulama iş akışları içinse VBA’yı kullanabilirsiniz. En iyi sonucu elde etmek adına amacınızı, veri karmaşıklığınızı ve kullanıcı ortamınızı dikkate alarak hangi yaklaşımın daha uygun olduğunu özenle değerlendirin.
En İyi Office Üretkenlik Araçları
Excel becerilerinizi Kutools for Excel ile geliştirin ve verimlilikte hiç yaşamadığınız bir deneyim yaşayın.Kutools for Excel, üretkenliği artırmak ve Zamanı Kaydet için 300’den fazla gelişmiş özelliğe sahiptir.İhtiyacınız olan özelliği hemen edinmek için buraya tıklayın…
Office Tab, Office uygulamalarına sekmeli bir arayüz kazandırarak işlerinizi çok daha kolay hale getirir.
- Word, Excel, PowerPoint, Publisher, Access, Visio ve Project'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
- Belgeleri yeni pencerelerde değil, aynı pencerenin yeni sekmelerinde açıp oluşturun.
- Günlük üretkenliğinizi %50 artırır ve her gün yüzlerce fare tıklamasından tasarruf etmenizi sağlar!
Tüm Kutools eklentileri — tek bir kurulum dosyasında!
Kutools for Office paketi, Excel, Word, Outlook ve PowerPoint eklentilerini ve ayrıca Office Tab Pro’yu içeren kapsamlı bir çözümdür; Office uygulamalarında çalışan ekipler için idealdir.
- Hepsi bir arada paket— Excel, Word, Outlook ve PowerPoint eklentileri + Office Tab Pro
- Tek kurulum, tek lisans— birkaç dakikada hazır (MSI uyumlu)
- Birlikte daha iyi çalışır— Office uygulamalarında akıcı üretkenlik
- 30 günlük tam özellikli deneme— kayıt gerekmez, kredi kartı gerekmez
- En iyi fiyat performans— ayrı ayrı eklenti satın almaya göre tasarruf sağlar