Custom Data Validation sa Excel : mga formula at panuntunan

  • Ibahagi Ito
Michael Brown

Ipinapakita ng tutorial kung paano gumawa ng mga custom na panuntunan sa Pag-validate ng Data sa Excel. Makakakita ka ng ilang halimbawa ng E xcel data validation formula upang payagan ang mga numero o text value lang sa mga partikular na cell, o text lang na nagsisimula sa mga partikular na character, pinahihintulutan ang natatanging data na pumipigil sa mga duplicate, at higit pa.

Sa tutorial kahapon sinimulan naming tingnan ang Excel Data Validation - kung ano ang layunin nito, kung paano ito gumagana, at kung paano gumamit ng mga built-in na panuntunan upang patunayan ang data sa iyong mga worksheet. Ngayon, gagawa pa tayo ng isang hakbang at pag-uusapan ang tungkol sa mga nitty-gritty na aspeto ng custom na validation ng data sa Excel pati na rin ang pag-eksperimento sa ilang iba't ibang mga validation formula.

    Paano gumawa ng custom na validation ng data gamit ang formula

    May ilang built-in na panuntunan sa validation ng data ang Microsoft Excel para sa mga numero, petsa at text, ngunit sinasaklaw lang ng mga ito ang mga pinakapangunahing sitwasyon. Kung gusto mong i-validate ang mga cell gamit ang sarili mong pamantayan, gumawa ng custom na panuntunan sa pagpapatunay batay sa isang formula. Ganito:

    1. Pumili ng isa o higit pang mga cell na i-validate.
    2. Buksan ang dialog box ng Data Validation. Para dito, i-click ang button na Pagpapatunay ng Data sa tab na Data , sa grupong Mga Tool ng Data o pindutin ang key sequence na Alt > D > L (ang bawat key ay pipindutin nang hiwalay).
    3. Sa tab na Mga Setting ng dialog window na Pagpapatunay ng Data , piliin ang Custom sa Payagan kahon, at ipasokposisyon ng mga row at column. Kaya, para sa cell D3 ang formula ay magbabago sa =A3/B3 , at para sa D4 ito ay magiging =A4/B4 , ang paggawa ng data validation ay mali!

      Upang ayusin ang formula, i-type lamang ang "$" bago ang column at row reference para i-lock sila: =$A$2/$B$2 . O kaya, pindutin ang F4 para magpalipat-lipat sa pagitan ng iba't ibang uri ng reference.

      Sa mga sitwasyon kung kailan mo gustong i-validate ang bawat cell batay sa sarili nitong pamantayan, gumamit ng mga relative na cell reference na walang $ sign para makuha ang formula para isaayos bawat row o/at column:

      Sa nakikita mo, walang "ganap na katotohanan", ang parehong formula ay maaaring tama o mali depende sa sitwasyon at sa iyong partikular na gawain.

      Ito ay kung paano gamitin ang data validation sa Excel gamit ang sarili mong mga formula. T makakuha ng higit pang pag-unawa, huwag mag-atubiling i-download ang aming sample na workbook sa ibaba at suriin ang mga setting ng panuntunan. Salamat sa pagbabasa at umaasa akong makita ka sa aming blog sa susunod na linggo!

      Magsanay ng workbook para sa pag-download

      Mga halimbawa ng Pagpapatunay ng Data ng Excel (.xlsx file)

      ang iyong data validation formula sa Formula box.
    4. I-click ang OK .

    Opsyonal, maaari kang magdagdag ng custom na input message at Error alert na lalabas kapag pinili ng user ang validated na cell o nagpasok ng invalid na data, ayon sa pagkakabanggit.

    Makakakita ka sa ibaba ng ilang halimbawa ng custom na mga panuntunan sa pagpapatunay para sa iba't ibang uri ng data.

    Tandaan. Ang lahat ng panuntunan sa pagpapatunay ng data ng Excel, built-in at custom, ay i-verify lang ang bagong data na nai-type sa isang cell pagkatapos gawin ang panuntunan. Ang kinopyang data ay hindi napatunayan, o ang data input sa cell bago gawin ang panuntunan. Upang i-pin down ang mga umiiral nang entry na hindi nakakatugon sa iyong pamantayan sa pagpapatunay ng data, gamitin ang feature na Circle Invalid Data tulad ng ipinapakita sa Paano makahanap ng invalid na data sa Excel.

    Excel data validation upang payagan ang mga numero lamang

    Nakakagulat, wala sa mga inbuilt na panuntunan sa pagpapatunay ng data ng Excel ang tumutugon sa isang napakakaraniwang sitwasyon kung kailan kailangan mong paghigpitan ang mga user na magpasok lamang ng mga numero sa mga partikular na cell. Ngunit ito ay madaling gawin gamit ang isang custom na data validation formula batay sa ISNUMBER function, tulad ng isang ito:

    =ISNUMBER(C2)

    Kung saan ang C2 ay ang pinakamataas na cell ng hanay na gusto mong i-validate.

    Tandaan. Binibigyang-daan ng ISNUMBER function ang anumang mga numeric na value sa mga na-validate na mga cell, kabilang ang mga integer, decimal, fraction pati na rin ang mga petsa at oras, na mga numero din sa mga tuntunin ng Excel.

    Ang pagpapatunay ng data ng Excel upang payagantext lang

    Kung kabaligtaran ang hinahanap mo - para payagan ang mga text entry lang sa ibinigay na hanay ng mga cell, pagkatapos ay bumuo ng custom na panuntunan gamit ang ISTEXT function, halimbawa:

    =ISTEXT(D2)

    Kung saan ang D2 ay ang pinakamataas na cell ng napiling hanay.

    Pahintulutan ang text na nagsisimula sa tukoy na (mga) character

    Kung ang lahat ng mga halaga sa isang tiyak dapat magsimula ang range sa isang partikular na character o substring, pagkatapos ay gawin ang Excel data validation batay sa COUNTIF function na may wildcard na character:

    COUNTIF( cell," text*")

    Halimbawa, upang matiyak na ang lahat ng order id sa column A ay nagsisimula sa prefix na "AA-", "aa-", "Aa-", o "aA-" (case-insensitive), tumukoy ng custom na panuntunan gamit ito formula ng pagpapatunay ng data:

    =COUNTIF(A2,"aa-*")

    Formula ng pagpapatunay na may lohika ng OR (maraming pamantayan)

    Kung sakaling mayroong 2 o higit pang wasto prefix, magdagdag ng ilang COUNTIF function, para gumana ang iyong Excel data validation rule sa OR logic:

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

    Case-sensitive validation formula

    Kung mahalaga ang case ng character, gamitin ang EXACT kasama ang LEFT function para gumawa ng case-sensitive validation formula para sa mga entry na nagsisimula sa partikular na text:

    EXACT(LEFT( cell, number_of_chars), text)

    Halimbawa, upang payagan lamang ang mga order id na nagsisimula sa "AA-" (hindi pinapayagan ang "aa-" o "Aa-", gamitin ito formula:

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

    Sa formula sa itaas,kinukuha ng LEFT function ang unang 3 character mula sa cell A2, at ang EXACT ay nagsasagawa ng case-sensitive na paghahambing sa hard-coded substring ("AA-" sa halimbawang ito). Kung eksaktong magkatugma ang dalawang substring, ibabalik ng formula ang TRUE at pumasa ang validation; kung hindi, ang FALSE ay ibinabalik at ang pagpapatunay ay nabigo.

    Pahintulutan ang mga entry na naglalaman ng ilang partikular na text

    Upang payagan ang mga entry na naglalaman ng partikular na text kahit saan sa isang cell (sa simula , gitna, o dulo), gamitin ang function na ISNUMBER kasabay ng FIND o SEARCH depende sa kung gusto mo ng case-sensitive o case-insensitive na tugma:

    • Case-insensitive na validation: ISNUMBER(SEARCH( text , cell ))
    • Case-sensitive validation: ISNUMBER(FIND( text , cell ))

    Sa aming sample data set, para pahintulutan ang mga entry lang na naglalaman ng text na "AA" sa mga cell A2:A6, gamitin ang isa sa mga formula na ito:

    Case-insensitive:

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

    Case-sensitive:

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

    Gumagana ang mga formula sa sumusunod na logic:

    Hinahanap mo ang substring na "AA" sa cell A2 gamit ang FIND o SEARCH, at parehong nagbabalik ng posisyon ng unang character sa substring. Kung ang teksto ay hindi natagpuan, ang isang error ay ibinalik. Para sa anumang numerong halaga na ibinalik bilang resulta ng paghahanap, ang ISNUMBER function ay magbubunga ng TRUE, at ang data validation ay matagumpay. Sa kaso ng isang error, ang ISNUMBER ay nagbabalik ng FALSE, at ang entry ay hindi papayagan sa acell.

    Ang pagpapatunay ng data upang payagan lamang ang mga natatanging entry at hindi payagan ang mga duplicate

    Sa mga sitwasyon kung saan ang isang partikular na column o isang hanay ng cell ay hindi dapat maglaman ng anumang mga duplicate, mag-configure ng custom na data validation rule para payagan lang ang mga natatanging entry. Para dito, gagamitin namin ang classic na formula ng COUNTIF para matukoy ang mga duplicate:

    =COUNTIF( range, topmost_cell)<=1

    Halimbawa, para gumawa siguraduhin na ang mga natatanging order id lang ang ini-input sa mga cell A2 hanggang A6, gumawa ng custom na panuntunan gamit ang data validation formula na ito:

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

    Kapag may inilagay na natatanging value, ang formula ay nagbabalik ng TRUE at ang nagtagumpay ang pagpapatunay. Kung ang parehong halaga ay umiiral na sa tinukoy na hanay (bilang na higit sa 1), ang COUNTIF ay nagbabalik ng FALSE at ang input ay nabigo sa pagpapatunay.

    Mangyaring bigyang-pansin na ini-lock namin ang hanay na may ganap na mga sanggunian ng cell (A$2:$A $6) at gumamit ng kamag-anak na sanggunian para sa tuktok na cell (A2) upang maisaayos nang maayos ang formula para sa bawat cell sa na-validate na hanay.

    Tandaan. Ang mga formula ng validation ng data na ito ay case-insensitive , hindi nito nakikilala ang uppercase at lowercase na text.

    Validation formula para sa mga petsa at oras

    Ang inbuilt date validation ay nagbibigay ng napakaraming paunang natukoy na pamantayan upang paghigpitan ang mga user na maglagay lamang ng mga petsa sa pagitan ng dalawang petsang tinukoy mo, mas malaki kaysa, mas mababa sa, o katumbas ng isang ibinigay na petsa.

    Kung gusto mo ng higit na kontrol sa datavalidation sa iyong mga worksheet, maaari mong kopyahin ang inbuilt functionality na may custom na panuntunan o magsulat ng sarili mong formula na lampas sa built-in na kakayahan ng Excel data validation.

    Payagan ang mga petsa sa pagitan ng dalawang petsa

    Upang limitahan ang entry sa isang petsa sa loob ng isang tinukoy na hanay, maaari mong gamitin ang alinman sa paunang tinukoy na panuntunan ng Petsa na may pamantayang "sa pagitan" o gumawa ng custom na panuntunan sa pagpapatunay gamit ang generic na formula na ito:

    AND( cell> ;= start_date), cell<= end_date)

    Saan:

    • cell ay ang pinakamataas na cell sa na-validate na hanay, at ang mga petsa ng
    • pagsisimula at pagtatapos ay mga wastong petsa na ibinigay sa pamamagitan ng function na DATE o mga reference sa mga cell na naglalaman ng mga petsa.

    Halimbawa, upang payagan ang mga petsa lamang sa buwan ng Hulyo ng taong 2017, gamitin ang sumusunod na formula:

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

    O, ilagay ang petsa ng pagsisimula at pagtatapos petsa sa ilang mga cell ( F1 at F2 sa halimbawang ito), at banggitin ang mga cell na iyon sa iyong formula:

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

    Pakipansin na ang mga petsa ng hangganan ay e naka-lock gamit ang ganap na mga sanggunian sa cell.

    Pahintulutan ang mga karaniwang araw o katapusan ng linggo lamang

    Upang paghigpitan ang isang user sa pagpasok lamang ng mga karaniwang araw o katapusan ng linggo, mag-configure ng custom na panuntunan sa pagpapatunay sa WEEKDAY function.

    Sa return_type argument na nakatakda sa 2, ang WEEKDAY ay nagbabalik ng integer mula 1 (Lunes) hanggang 7 (Linggo). Kaya, para sa mga karaniwang araw (Lunes hanggang Biyernes) ang resulta ng formula ay dapat nawala pang 6, at para sa mga katapusan ng linggo (Sab at Linggo) na higit sa 5.

    Pahintulutan lamang ang araw ng trabaho :

    WEEKDAY( cell,2)<6

    Pahintulutan lamang ang mga katapusan ng linggo :

    WEEKDAY( cell,2)>5

    Halimbawa, upang payagan ang pagpasok lamang ng mga araw ng trabaho sa mga cell C2:C6, gamitin ito formula:

    =WEEKDAY(C2,2)<6

    I-validate ang mga petsa batay sa petsa ngayon

    Sa maraming sitwasyon, maaaring gusto mong gamitin ang petsa ngayon bilang simula petsa ng pinapayagang hanay ng petsa. Upang makuha ang kasalukuyang petsa, gamitin ang TODAY function, at pagkatapos ay idagdag ang nais na bilang ng mga araw dito upang kalkulahin ang petsa ng pagtatapos.

    Halimbawa, upang limitahan ang pagpasok ng data sa 6 na araw mula ngayon (7 araw kasama ang ngayon), gagamitin namin ang built-in na panuntunan ng Petsa na may pamantayang batay sa formula:

    1. Piliin ang Petsa sa Payagan
    2. Piliin ang sa pagitan ng sa Data
    3. Sa kahon ng Petsa ng pagsisimula , ilagay ang =TODAY()
    4. Sa Kahon ng petsa ng pagtatapos , ilagay ang =TODAY() + 6

    Sa katulad na paraan, maaari mong paghigpitan ang mga user sa paglalagay ng mga petsa bago o pagkatapos ng petsa ngayon. Para dito, piliin ang alinman sa mas mababa sa o mas malaki kaysa sa sa kahon ng Data , at pagkatapos ay ilagay ang =TODAY() sa petsa ng Pagtatapos o Start date box, ayon sa pagkakabanggit.

    I-validate ang mga oras batay sa kasalukuyang oras

    Upang i-validate ang data batay sa kasalukuyang oras, gamitin ang paunang-natukoy na Time rule gamit ang sarili mong data validation formula:

    1. Sa kahon na Payagan , piliin Oras .
    2. Sa kahon ng Data , piliin ang alinman sa mas mababa sa upang payagan lamang ang mga oras bago ang kasalukuyang oras, o mas malaki kaysa upang payagan ang mga oras pagkatapos ng kasalukuyang oras.
    3. Sa kahon ng Oras ng pagtatapos o Oras ng pagsisimula (depende sa kung aling pamantayan ang iyong pinili sa nakaraang hakbang), ilagay ang isa sa mga sumusunod na formula:
      • Upang i-validate ang mga petsa at oras batay sa kasalukuyang petsa at oras:

        =NOW()

      • Upang i-validate ang beses batay sa kasalukuyang oras:

        =TIME( HOUR(NOW()), MINUTE(NOW()), SECOND(NOW()))

    Ang screenshot sa ibaba ay nagpapakita ng panuntunan na nagbibigay-daan lamang sa mga beses na mas malaki kaysa sa kasalukuyang oras:

    Hindi gumagana ang custom na panuntunan sa pag-validate ng data ng Excel

    Kung hindi gagana ang iyong panuntunan sa pag-validate ng data na nakabatay sa formula, mayroong 3 pangunahing puntong susuriin:

    • Tama ang formula sa pagpapatunay ng data
    • Ang formula ng pagpapatunay ay hindi tumutukoy sa isang walang laman na cell
    • Ginagamit ang mga naaangkop na sanggunian sa cell

    Suriin ang kawastuhan ng iyong Excel data validation formula

    Para sa mga nagsisimula, kopyahin ang iyong validation formula sa ilang cell upang matiyak na hindi ito magbabalik ng error gaya ng #N/A, #VALUE o #DIV/0!.

    Kung gumagawa ka ng custom na panuntunan , dapat ibalik ng formula ang mga lohikal na halaga ng TRUE at FALSE o ang mga halaga ng 1 at 0 na katumbas ng mga ito, ayon sa pagkakabanggit.

    Kung gagamit ka ng pamantayang batay sa formula sa isang built-in na panuntunan (tulad ng ginawa namin upang patunayan ang mga oras batay sakasalukuyang oras), maaari rin itong magbalik ng isa pang numeric na halaga.

    Ang formula ng pagpapatunay ng data ng Excel ay hindi dapat sumangguni sa isang walang laman na cell

    Sa maraming sitwasyon, kung pipiliin mo ang Balewalain ang blangko kahon kapag tinutukoy ang panuntunan (karaniwang pinipili bilang default) at blangko ang isa o higit pang mga cell na isinangguni sa iyong formula, papayagan ang anumang halaga sa na-validate na cell.

    Narito ang isang halimbawa sa pinakasimpleng anyo:

    Mga ganap at nauugnay na cell reference sa mga formula ng validation ng data

    Kapag nagse-set up ng formula-based na panuntunan sa pagpapatunay ng Excel, pakitandaan na ang lahat ng cell reference sa iyong ang formula ay may kaugnayan sa itaas na kaliwang cell sa napiling hanay.

    Kung gumagawa ka ng panuntunan para sa higit sa isang cell at ang iyong pamantayan sa pagpapatunay ay nakadepende sa mga partikular na cell , tiyaking gumamit ng ganap na mga sanggunian sa cell (na may $ sign tulad ng $A$1), kung hindi, gagana nang tama ang iyong panuntunan para lamang sa unang cell. Upang mas mahusay na mailarawan ang punto, mangyaring isaalang-alang ang sumusunod na halimbawa.

    Ipagpalagay, gusto mong paghigpitan ang pagpasok ng data sa mga cell D2 hanggang D5 sa mga buong numero sa pagitan ng 1 (minimum na halaga) at ang resulta ng paghahati ng A2 sa B2. Kaya, kinakalkula mo ang maximum na halaga gamit ang simpleng formula na ito =A2/B2 , tulad ng ipinapakita sa screenshot sa ibaba:

    Ang problema ay ang tila tamang formula na ito ay hindi gagana para sa mga cell D3 hanggang D5 dahil nagbabago ang mga kamag-anak na sanggunian batay sa isang kamag-anak

    Si Michael Brown ay isang dedikadong mahilig sa teknolohiya na may hilig sa pagpapasimple ng mga kumplikadong proseso gamit ang mga tool sa software. Sa higit sa isang dekada ng karanasan sa industriya ng tech, hinasa niya ang kanyang mga kasanayan sa Microsoft Excel at Outlook, pati na rin ang Google Sheets at Docs. Ang blog ni Michael ay nakatuon sa pagbabahagi ng kanyang kaalaman at kadalubhasaan sa iba, na nagbibigay ng madaling sundan na mga tip at mga tutorial para sa pagpapabuti ng pagiging produktibo at kahusayan. Isa ka mang batikang propesyonal o baguhan, nag-aalok ang blog ni Michael ng mahahalagang insight at praktikal na payo para masulit ang mahahalagang software tool na ito.