Excel-formel: Validera inmatning med bock -

Innehållsförteckning

Generisk formel

=IF(logical_test,"P","")

Sammanfattning

För att visa en bock om ett värde är "tillåtet" baserat på en befintlig lista över tillåtna värden, kan du använda en formel baserad på IF-funktionen tillsammans med COUNTIF-funktionen. I exemplets show är formeln i C5:

=IF(COUNTIF(allowed,B5),"✓","")

där tillåtet är det namngivna intervallet E5: E9.

Förklaring

Denna formel är ett bra exempel på att bygga in en funktion i en annan. Kärnan använder denna formel IF-inställningen för att returnera en bock (✓) när ett logiskt test returnerar SANT:

=IF(logical_test,"✓","")

Om testet returnerar FALSE returnerar formeln en tom sträng (""). För det logiska testet använder vi COUNTIF-funktionen så här:

COUNTIF(allowed,B5)

COUNTIF räknar förekomster av värdet i B5 i det angivna intervallet tillåtet (E5: E9). Detta kan tyckas "bakåt" för dig, men om du tänker på det är det vettigt. Om värdet i B5 finns i den tillåtna värdelistan kommer COUNTIF att returnera ett positivt tal (i detta fall 1). Om inte kommer COUNTIF att returnera noll. Excel kommer att utvärdera alla tal som inte är noll som SANT, så det fungerar perfekt som det logiska testet för IF.

IF returnerar SANT endast om värdet finns i den tillåtna listan, och i så fall är det slutliga resultatet en bock (✓). Om värdet inte finns i den tillåtna listan returnerar COUNTIF noll, vilket utvärderas som FALSE. I så fall är slutresultatet en tom sträng ("") som inte visar något.

Med fasta värden

Exemplet ovan visar tillåtna värden i ett cellområde, men tillåtna värden kan också hårdkodas i formlerna som en arraykonstant så här:

=IF(COUNTIF(("red","blue","green"),B5),"✓","")

Bockmarkeringstecken (✓)

Att infoga ett bocktecken i Excel kan vara överraskande utmanande och du hittar många artiklar på internet som förklarar olika tillvägagångssätt. Det enklaste sättet att få den bocktecken (✓) som används i denna formel till Excel är att bara kopiera och klistra in den. Om du kopierar från den här webbsidan klistrar du in i formelfältet för att undvika att dra in oönskad formatering. Du kan också kopiera och klistra in direkt från det bifogade kalkylbladet.

Om du har problem med att kopiera och klistra in kan du prova den här varianten. Karaktären i sig är Unicode 2713 (U + 2713) och kan också anges i Excel med UNICHAR-funktionen så här:

=UNICHAR(10003) // returns "✓"

Så originalformeln kan skrivas så här:

=IF(COUNTIF(allowed,B5),UNICHAR(10003),"")

Obs! UNICHAR-funktionen introducerades i Excel 2013.

Utöka formeln

Grundidén i denna formel kan utvidgas på många smarta sätt. Exempelvis visar skärmdumpen nedan en formel som endast returnerar en bock när alla testresultat är minst 65:

Formeln i G5 är:

=IF(NOT(COUNTIF(B5:F5,"<65")),"✓","")

INTE-funktionen reverserar resultatet från COUNTIF. Om du tycker att det är förvirrande kan du växelvis omstrukturera IF-formeln så här:

=IF(COUNTIF(B5:F5,"<65"),"","✓")

I versionen av formeln liknar logiken mer den ursprungliga formeln ovan. Vi har dock flyttat kryssmarkeringen till argumentet value_if_false, så kryssmarkeringen visas endast om antalet från COUNTIF är noll. Med andra ord visas bocken endast om inga värden mindre än 65 hittas.

Obs! Du kan också använda villkorlig formatering för att markera giltig eller ogiltig inmatning och datavalidering för att begränsa inmatning så att endast giltiga data tillåts.

Intressanta artiklar...