Niestandardowa walidacja danych w Excelu: formuły i reguły

  • Udostępnij To
Michael Brown

Samouczek pokazuje jak tworzyć niestandardowe reguły walidacji danych w Excelu.Znajdziesz tu kilka przykładów E Formuły sprawdzania poprawności danych w programie xcel pozwalające na stosowanie tylko liczb lub wartości tekstowych w określonych komórkach, lub tylko tekstu zaczynającego się od określonych znaków, zezwalające na unikalne dane zapobiegające duplikatom i inne.

We wczorajszym tutorialu zaczęliśmy przyglądać się Walidacji Danych w Excelu - jaki jest jej cel, jak działa i jak używać wbudowanych reguł do walidacji danych w arkuszach. Dziś zamierzamy pójść o krok dalej i porozmawiać o drobiazgowych aspektach niestandardowej walidacji danych w Excelu, a także poeksperymentować z kilkoma różnymi formułami walidacji.

    Jak stworzyć niestandardowe sprawdzanie poprawności danych za pomocą formuły

    Microsoft Excel ma kilka wbudowanych reguł sprawdzania poprawności danych dla liczb, dat i tekstu, ale obejmują one tylko najbardziej podstawowe scenariusze. Jeśli chcesz sprawdzać poprawność komórek za pomocą własnych kryteriów, utwórz niestandardową regułę sprawdzania poprawności na podstawie formuły. Oto jak:

    1. Wybierz jedną lub więcej komórek do zatwierdzenia.
    2. Otwórz okno dialogowe Walidacja danych. W tym celu kliknij przycisk Walidacja danych przycisk na Dane zakładka, w Narzędzia danych grupy lub naciśnij sekwencję klawiszy Alt> D> L (każdy klawisz należy nacisnąć osobno).
    3. Na Ustawienia zakładka Walidacja danych okno dialogowe, wybierz Niestandardowe w Pozwól i wprowadź formułę sprawdzania poprawności danych w polu Formuła pudełko.
    4. Kliknij OK .

    Opcjonalnie możesz dodać niestandardowy komunikat wejściowy i alert o błędzie, które pokażą się, gdy użytkownik wybierze odpowiednio zatwierdzoną komórkę lub wprowadzi nieprawidłowe dane.

    Poniżej znajdziesz kilka przykładów niestandardowych reguł walidacji dla różnych typów danych.

    Uwaga. Wszystkie reguły sprawdzania poprawności danych w programie Excel, zarówno wbudowane, jak i niestandardowe, sprawdzają tylko nowe dane wpisywane do komórki po utworzeniu reguły. Skopiowane dane nie są sprawdzane, podobnie jak dane wpisane do komórki przed utworzeniem reguły. Aby przyporządkować istniejące wpisy, które nie spełniają kryteriów sprawdzania poprawności danych, należy użyć funkcji Kółko Nieważne dane funkcja jak pokazano w Jak znaleźć niepoprawne dane w Excelu.

    Sprawdzanie poprawności danych w programie Excel, aby dopuszczać tylko liczby

    Zaskakująco, żadna z wbudowanych reguł sprawdzania poprawności danych w Excelu nie zaspokaja bardzo typowej sytuacji, gdy trzeba ograniczyć użytkowników do wprowadzania tylko liczb w określonych komórkach. Ale można to łatwo zrobić za pomocą niestandardowej formuły sprawdzania poprawności danych opartej na funkcji ISNUMBER, takiej jak ta:

    =ISNUMBER(C2)

    Gdzie C2 to najwyższa komórka zakresu, który chcesz zatwierdzić.

    Uwaga. Funkcja ISNUMBER dopuszcza dowolne wartości liczbowe w zatwierdzonych komórkach, w tym liczby całkowite, dziesiętne, ułamki, a także daty i godziny, które również są liczbami w rozumieniu Excela.

    Sprawdzanie poprawności danych w Excelu, aby umożliwić tylko tekst

    Jeśli szukasz czegoś odwrotnego - aby zezwolić tylko na wpisy tekstowe w danym zakresie komórek, to zbuduj własną regułę z funkcją ISTEXT, na przykład:

    =ISTEXT(D2)

    Gdzie D2 to najwyższa komórka wybranego zakresu.

    Zezwalaj na tekst rozpoczynający się od określonego znaku (znaków)

    Jeśli wszystkie wartości w pewnym zakresie powinny zaczynać się od określonego znaku lub podłańcucha, to wykonaj walidację danych w Excelu w oparciu o funkcję COUNTIF ze znakiem wieloznacznym:

    COUNTIF( komórka ," tekst *")

    Na przykład, aby upewnić się, że wszystkie identyfikatory zamówień w kolumnie A zaczynają się od prefiksu "AA-", "aa-", "Aa-" lub "aA-" (wielkość liter nie ma znaczenia), zdefiniuj regułę niestandardową z następującą formułą sprawdzania poprawności danych:

    =COUNTIF(A2, "aa-*")

    Formuła walidacyjna z logiką OR (wiele kryteriów)

    W przypadku, gdy istnieją 2 lub więcej ważnych prefiksów, dodaj kilka funkcji COUNTIF, aby twoja reguła sprawdzania poprawności danych w Excelu działała z logiką OR:

    =COUNTIF(A2,"aa-*")+COUNTIF(A2,"bb-*")

    Formuła walidacji uwzględniająca wielkość liter

    Jeśli wielkość liter ma znaczenie, to użyj EXACT w połączeniu z funkcją LEFT, aby utworzyć formułę walidacji z uwzględnieniem wielkości liter dla wpisów rozpoczynających się od określonego tekstu:

    EXACT(LEFT( komórka , number_of_chars ), tekst )

    Na przykład, aby zezwolić tylko na te identyfikatory zamówień, które zaczynają się od "AA-" (ani "aa-" ani "Aa-" nie jest dozwolone), użyj tej formuły:

    =EXACT(LEFT(A2,3), "AA-")

    W powyższej formule funkcja LEFT pobiera pierwsze 3 znaki z komórki A2, a EXACT dokonuje porównania wielkości liter z zakodowanym podłańcuchem ("AA-" w tym przykładzie). Jeśli dwa podłańcuchy pasują do siebie dokładnie, formuła zwraca TRUE i walidacja przechodzi; w przeciwnym razie zwracane jest FALSE i walidacja nie przechodzi.

    Zezwalaj na wpisy zawierające określony tekst

    Aby zezwolić na wpisy zawierające określony tekst w dowolnym miejscu komórki (na początku, w środku lub na końcu), należy użyć funkcji ISNUMBER w połączeniu z funkcją FIND lub SEARCH, w zależności od tego, czy chcemy, aby dopasowanie było wrażliwe na wielkość liter, czy też nie:

    • Walidacja bez rozróżniania wielkości liter: ISNUMBER(SEARCH( tekst , komórka ))
    • Walidacja z uwzględnieniem wielkości liter: ISNUMBER(FIND( tekst , komórka ))

    Na naszym przykładowym zbiorze danych, aby dopuścić w komórkach A2:A6 tylko wpisy zawierające tekst "AA", użyj jednej z tych formuł:

    Wielkość liter nie ma znaczenia:

    =ISNUMBER(SEARCH("AA", A2))

    Rozróżnianie wielkości liter:

    =ISNUMBER(FIND("AA", A2))

    Formuły działają z następującą logiką:

    Wyszukujesz podłańcuch "AA" w komórce A2 za pomocą funkcji FIND lub SEARCH, obie zwracają pozycję pierwszego znaku w podłańcuchu. Jeśli tekst nie zostanie znaleziony, zwracany jest błąd. Dla każdej wartości liczbowej zwróconej jako wynik wyszukiwania funkcja ISNUMBER daje TRUE, a sprawdzanie poprawności danych przebiega pomyślnie. W przypadku błędu funkcja ISNUMBER zwraca FALSE, a wpis nie będzie dozwolony w komórce.

    Walidacja danych w celu dopuszczenia tylko unikalnych wpisów i odrzucenia duplikatów

    W sytuacjach, gdy pewna kolumna lub zakres komórek nie powinien zawierać żadnych duplikatów, skonfiguruj niestandardową regułę sprawdzania poprawności danych, aby zezwolić tylko na unikalne wpisy. W tym celu użyjemy klasycznej formuły COUNTIF do identyfikacji duplikatów:

    =COUNTIF( zakres , najwyższa_komórka )<=1

    Na przykład, aby upewnić się, że tylko unikalne identyfikatory zamówień są wprowadzane w komórkach A2 do A6, utwórz niestandardową regułę z tą formułą sprawdzania poprawności danych:

    =COUNTIF($A$2:$A$6, A2)<=1

    Jeśli wprowadzono unikalną wartość, formuła zwraca TRUE i walidacja się powiedzie. Jeśli ta sama wartość istnieje już w określonym zakresie (liczba większa niż 1), COUNTIF zwraca FALSE i wejście nie przechodzi walidacji.

    Zwróć uwagę, że blokujemy zakres za pomocą bezwzględnych odwołań do komórek (A$2:$A$6) i używamy względnego odwołania dla górnej komórki (A2), aby formuła dostosowała się poprawnie dla każdej komórki w sprawdzanym zakresie.

    Uwaga. Ta formuła sprawdzania poprawności danych jest bez rozróżniania wielkości liter , nie rozróżnia dużych i małych liter tekstu.

    Formuły walidacji dla dat i czasu

    Wbudowana walidacja daty zapewnia sporo predefiniowanych kryteriów ograniczających użytkowników do wprowadzania tylko dat pomiędzy dwoma określonymi przez Ciebie datami, większych, mniejszych lub równych danej dacie.

    Jeśli chcesz mieć większą kontrolę nad sprawdzaniem poprawności danych w arkuszach, możesz powielić wbudowaną funkcjonalność za pomocą niestandardowej reguły lub napisać własną formułę, która wykracza poza wbudowane możliwości sprawdzania poprawności danych w programie Excel.

    Dopuszczalne daty pomiędzy dwoma datami

    Aby ograniczyć wpis do daty w określonym zakresie, możesz użyć predefiniowanej reguły Date z kryterium "between" lub stworzyć niestandardową regułę walidacji z tą ogólną formułą:

    I( komórka >=. początek_daty ), komórka <=. koniec_daty )

    Gdzie:

    • komórka jest najwyższą komórką w zatwierdzonym zakresie, a
    • start oraz koniec daty są ważnymi datami podanymi za pomocą funkcji DATE lub odwołaniami do komórek zawierających daty.

    Na przykład, aby dopuścić tylko daty w miesiącu lipcu roku 2017, użyj następującej formuły:

    =AND(C2>=DATE(2017,7,1),C2<=DATE(2017,7,31))

    Albo wprowadź datę początkową i datę końcową w niektórych komórkach ( F1 i F2 w tym przykładzie) i odwołaj się do tych komórek w swojej formule:

    =AND(C2>=$F$1, C2<=$F$2)

    Zauważ, że daty graniczne są zablokowane za pomocą bezwzględnych odniesień do komórek.

    Dopuszczalne tylko w dni robocze lub weekendy

    Aby ograniczyć użytkownika do wprowadzania tylko dni tygodnia lub weekendów, skonfiguruj niestandardową regułę sprawdzania poprawności opartą na funkcji WEEKDAY.

    Z typ argument ustawiony na 2, WEEKDAY zwraca liczbę całkowitą z zakresu od 1 (poniedziałek) do 7 (niedziela). Zatem dla dni powszednich (od poniedziałku do piątku) wynik formuły powinien być mniejszy niż 6, a dla weekendów (sobota i słońce) większy niż 5.

    Pozwólcie tylko dni robocze :

    TYDZIEŃ( komórka ,2)<6

    Pozwólcie tylko weekendy :

    TYDZIEŃ( komórka ,2)>5

    Na przykład, aby umożliwić wprowadzanie tylko dni roboczych w komórkach C2:C6, użyj tej formuły:

    =WEEKDAY(C2,2)<6

    Walidacja dat na podstawie dzisiejszej daty

    W wielu sytuacjach można chcieć użyć dzisiejszej daty jako daty początkowej dozwolonego zakresu dat. Aby uzyskać bieżącą datę, należy użyć funkcji DZIŚ, a następnie dodać do niej żądaną liczbę dni, aby obliczyć datę końcową.

    Na przykład, aby ograniczyć wprowadzanie danych do 6 dni od teraz (7 dni włącznie z dniem dzisiejszym), użyjemy wbudowanej reguły Data z kryteriami opartymi na formule:

    1. Wybierz Data w Pozwól
    2. Wybierz między w Dane
    3. W Data rozpoczęcia wpisać =TODAY()
    4. W Data końcowa wpisać =TODAY() + 6

    W podobny sposób można ograniczyć użytkownikom możliwość wprowadzania dat przed lub po dniu dzisiejszym. W tym celu należy wybrać opcję mniej niż lub większy niż w Dane w polu, a następnie wpisz =TODAY() w Koniec data lub Start data box, odpowiednio.

    Walidacja czasów na podstawie aktualnego czasu

    Aby sprawdzić poprawność danych na podstawie aktualnego czasu, należy użyć predefiniowanej reguły Czas z własną formułą sprawdzania poprawności danych:

    1. W Pozwól zaznaczyć Czas .
    2. W Dane wybrać albo mniej niż aby zezwolić tylko na czas przed bieżącym czasem, lub większy niż aby dopuścić czasy po aktualnym czasie.
    3. W Czas zakończenia lub Godzina rozpoczęcia w polu (w zależności od tego, jakie kryteria zostały wybrane w poprzednim kroku), wprowadź jedną z poniższych formuł:
      • Do zatwierdzenia daty i godziny w oparciu o bieżącą datę i godzinę:

        =NOW()

      • Do zatwierdzenia razy na podstawie aktualnego czasu:

        =TIME( GODZINA(NOW()), MINUTA(NOW()), SEKUNDA(NOW()))

    Poniższy zrzut ekranu przedstawia regułę, która dopuszcza tylko czasy większe od aktualnego:

    Niestandardowa reguła sprawdzania poprawności danych w programie Excel nie działa

    Jeśli twoja reguła sprawdzania poprawności danych oparta na formule nie działa zgodnie z oczekiwaniami, istnieją 3 główne punkty do sprawdzenia:

    • Formuła walidacji danych jest prawidłowa
    • Formuła walidacji nie odnosi się do pustej komórki
    • Stosowane są odpowiednie odwołania do komórek

    Sprawdź poprawność swojej formuły sprawdzania poprawności danych w Excelu

    Na początek skopiuj swoją formułę walidacyjną do jakiejś komórki, aby upewnić się, że nie zwraca ona błędu takiego jak #N/A, #VALUE lub #DIV/0!

    Jeśli tworzysz zasada zwyczaju , formuła powinna zwrócić wartości logiczne TRUE i FALSE lub wartości 1 i 0 im odpowiadające, odpowiednio.

    Jeśli używasz kryteriów opartych na formule w zasada wbudowana (tak jak zrobiliśmy to, aby zatwierdzić czasy w oparciu o bieżący czas), może również zwrócić inną wartość numeryczną.

    Formuła sprawdzania poprawności danych w Excelu nie powinna odwoływać się do pustej komórki

    W wielu sytuacjach, jeśli wybierzesz Zignoruj puste miejsce podczas definiowania reguły (zazwyczaj domyślnie zaznaczone), a jedna lub więcej komórek, do których odwołuje się formuła, jest pusta, w sprawdzanej komórce dozwolona będzie dowolna wartość.

    Oto przykład w najprostszej formie:

    Bezwzględne i względne odwołania do komórek w formułach sprawdzania poprawności danych

    Podczas tworzenia reguły sprawdzania poprawności w Excelu opartej na formule należy pamiętać, że wszystkie odwołania do komórek w formule są w stosunku do lewej górnej komórki w wybranym zakresie.

    Jeśli tworzysz regułę dla więcej niż jednej komórki, a Twoje kryteria walidacji są zależne od specyficzne komórki , pamiętaj, aby używać bezwzględnych odniesień do komórek (ze znakiem $ jak $A$1), w przeciwnym razie twoja reguła będzie działać poprawnie tylko dla pierwszej komórki. Aby lepiej zilustrować ten punkt, rozważ następujący przykład.

    Załóżmy, że chcesz ograniczyć wprowadzanie danych w komórkach od D2 do D5 do liczb całkowitych z przedziału od 1 (wartość minimalna) do wyniku dzielenia A2 przez B2. Obliczasz więc wartość maksymalną za pomocą tego prostego wzoru =A2/B2 , jak pokazano na poniższym zrzucie ekranu:

    Problem w tym, że ta pozornie poprawna formuła nie będzie działać dla komórek od D3 do D5, ponieważ odniesienia względne zmieniają się na podstawie względnej pozycji wierszy i kolumn. Tak więc dla komórki D3 formuła zmieni się na =A3/B3 a w przypadku D4 będzie to =A4/B4 ...źle przeprowadza walidację danych!

    Aby naprawić formułę, wystarczy wpisać "$" przed odwołaniami do kolumn i wierszy, aby je zablokować: =$A$2/$B$2 Lub naciśnij F4, aby przełączać się pomiędzy różnymi typami referencji.

    W sytuacjach, gdy chcesz sprawdzić poprawność każdej komórki na podstawie jej własnych kryteriów, użyj względnych odwołań do komórek bez znaku $, aby formuła dostosowała się do każdego wiersza lub/i kolumny:

    Jak widzisz, nie ma "prawdy absolutnej", ta sama formuła może być dobra lub zła w zależności od sytuacji i Twojego konkretnego zadania.

    Oto jak używać walidacji danych w Excelu z własnymi formułami. T zyskać więcej zrozumienia, zapraszam do pobrania naszego przykładowego skoroszytu poniżej i zbadania ustawień reguł. Dziękuję za przeczytanie i mam nadzieję, że zobaczymy się na naszym blogu w przyszłym tygodniu!

    Zeszyt ćwiczeń do pobrania

    Przykłady walidacji danych w Excelu (plik .xlsx)

    Michael Brown jest oddanym entuzjastą technologii z pasją do upraszczania złożonych procesów za pomocą narzędzi programowych. Dzięki ponad dziesięcioletniemu doświadczeniu w branży technologicznej doskonalił swoje umiejętności w programach Microsoft Excel i Outlook, a także w Arkuszach i Dokumentach Google. Blog Michaela jest poświęcony dzieleniu się swoją wiedzą i doświadczeniem z innymi, dostarczając łatwych do zastosowania wskazówek i samouczków w celu poprawy produktywności i wydajności. Niezależnie od tego, czy jesteś doświadczonym profesjonalistą, czy początkującym, blog Michaela oferuje cenne spostrzeżenia i praktyczne porady dotyczące maksymalnego wykorzystania tych niezbędnych narzędzi programowych.