Excel IF mellan två siffror eller datum

  • Dela Detta
Michael Brown

I handledningen visas hur du använder en IF-formel i Excel för att se om ett givet tal eller datum ligger mellan två värden.

Om du vill kontrollera om ett givet värde ligger mellan två numeriska värden kan du använda AND-funktionen med två logiska tester. Om du vill returnera dina egna värden när båda uttrycken är sanna, kan du placera AND i IF-funktionen.

    Excel-formel: om mellan två tal

    Om du vill testa om ett givet tal ligger mellan två tal som du anger använder du AND-funktionen med två logiska tester:

    • Använd operatorn större än (>) för att kontrollera om värdet är högre än ett mindre tal.
    • Använd operatorn mindre än (<) för att kontrollera om värdet är lägre än ett större tal.

    Den generiska Om mellan formeln är:

    AND( värde > smaller_number , värde < larger_number (större antal) )

    Om du vill inkludera gränsvärdena använder du operatorerna större än eller lika med (>=) och mindre än eller lika med (<=):

    AND( värde >= smaller_number , värde <= larger_number (större antal) )

    För att till exempel se om ett tal i A2 ligger mellan 10 och 20, utan att inkludera gränsvärdena, är formeln i B2, kopierad ner, följande:

    =AND(A2>10, A2<20)

    För att kontrollera om A2 ligger mellan 10 och 20, inklusive tröskelvärdena, används följande formel i C2:

    =AND(A2>=10, A2<=20)

    I båda fallen är resultatet det booleska värdet TRUE om det testade talet ligger mellan 10 och 20 och FALSE om det inte gör det:

    Om mellan två tal

    Om du vill returnera ett anpassat värde om ett tal ligger mellan två värden, placera AND-formeln i det logiska testet av IF-funktionen.

    Om du till exempel vill returnera "Ja" om talet i A2 är mellan 10 och 20 och "Nej" annars, använd ett av dessa IF-meddelanden:

    Om mellan 10 och 20:

    =IF(AND(A2>10, A2<20), "Ja", "Nej")

    Om mellan 10 och 20, inklusive gränserna:

    =IF(AND(A2>=10, A2<=20), "Ja", "Nej")

    Tips: Istället för att hårdkoda tröskelvärdena i formeln kan du ange dem i enskilda celler och hänvisa till dessa celler som i exemplet nedan.

    Anta att du har en uppsättning värden i kolumn A och vill veta vilka värden som ligger mellan siffrorna i kolumnerna B och C i samma rad. Om du antar att ett mindre tal alltid finns i kolumn B och ett större tal i kolumn C, kan du lösa uppgiften med denna formel:

    =IF(AND(A2>B2, A2

    Inklusive gränserna:

    =IF(AND(A2>=B2, A2<=C2), "Ja", "Nej")

    Och här är en variant av Om mellan som returnerar ett värde om det är TRUE, en text eller en tom sträng om det är FALSE:

    =IF(AND(A2>10, A2<20), A2, "Invalid")

    Inklusive gränserna:

    =IF(AND(A2>=10, A2<=20), A2, "Invalid")

    Om gränsvärden finns i olika kolumner

    När mindre och större tal som du jämför med kan förekomma i olika kolumner (dvs. tal 1 är inte alltid mindre än tal 2), använd en något mer komplicerad version av formeln.

    AND( värde > MIN( num1 , num2 ), värde <MAX( num1 , num2 ))

    Här testar vi först om målvärdet är högre än ett mindre av de två tal som MIN-funktionen ger, och sedan om det är lägre än ett större av de två tal som MAX-funktionen ger.

    För att inkludera tröskelvärdena justerar du logiken på följande sätt:

    AND( värde >= MIN( num1 , num2 ), värde <= MAX( num1 , num2 ))

    Om du till exempel vill ta reda på om ett tal i A2 ligger mellan två tal i B2 och C2 kan du använda en av dessa formler:

    Exkludering av gränser:

    =AND(A2>MIN(B2, C2), A2

    Inklusive gränser:

    =AND(A2>=MIN(B2, C2), A2<=MAX(B2, C2))

    Om du vill returnera egna värden i stället för TRUE och FALSE kan du använda följande Excel IF-anvisning mellan två siffror:

    =IF(AND(A2>MIN(B2, C2), A2

    Eller

    =IF(AND(A2>=MIN(B2, C2), A2<=MAX(B2, C2)), "Ja", "Nej")

    Excel-formel: om mellan två datum

    Om mellan datum formel i Excel är i princip samma sak som Om mellan siffror .

    För att kontrollera om ett givet datum ligger inom ett visst intervall är den generiska formeln:

    IF(AND( datum >= start_datum , datum <= end_date ), value_if_true, value_if_false)

    Utan att ta hänsyn till de datum som gäller för gränsen:

    IF(AND( datum > start_datum , datum < end_date ), value_if_true, value_if_false)

    Det finns dock en invändning: IF känner igen datum som anges direkt i argumenten och betraktar dem som textsträngar. För att IF ska kunna känna igen ett datum måste det vara omslutet av funktionen DATEVALUE.

    Om du till exempel vill testa om ett datum i A2 ligger mellan 1 januari-2022 och 31 december-2022 kan du använda den här formeln:

    =IF(AND(A2>=DATEVALUE("1/1/2022"), A2<=DATEVALUE("12/31/2022")), "Ja", "Nej")

    Om start- och slutdatum finns i fördefinierade celler blir formeln mycket enklare:

    =IF(AND(A2>=$E$2, A2<=$E$3), "Ja", "Nej")

    Där $E$2 är startdatumet och $E$3 är slutdatumet. Observera att du använder absoluta referenser för att låsa celladresserna, så att formeln inte går sönder när den kopieras till cellerna nedan.

    Tips: Om varje testat datum ska ligga inom sitt eget intervall och gränsdatumen kan bytas ut, använd MIN- och MAX-funktionerna för att bestämma ett mindre och ett större datum enligt förklaringen i Om gränsvärdena ligger i olika kolumner.

    Om datumet är inom de närmaste N dagarna

    Om du vill testa om ett datum ligger inom nästa n dagar av dagens datum, använd funktionen TODAY för att bestämma start- och slutdatum. I AND-angivelsen kontrollerar det första logiska testet om måldatumet är större än dagens datum, medan det andra logiska testet kontrollerar om det är mindre än eller lika med dagens datum plus n dagar:

    IF(AND( datum > TODAY(), datum <= TODAY()+ n ), value_if_true, value_if_false)

    Om du till exempel vill testa om ett datum i A2 inträffar under de kommande 7 dagarna är formeln:

    =IF(AND(A2>TODAY(), A2<=TODAY()+7), "Ja", "Nej")

    Om datumet ligger inom de senaste N dagarna

    Om du vill testa om ett givet datum ligger inom den senaste n dagar av dagens datum använder du återigen IF tillsammans med funktionerna AND och TODAY. Det första logiska testet av AND kontrollerar om ett testat datum är större än eller lika med dagens datum minus n dagar, och det andra logiska testet kontrollerar om datumet är kortare än idag:

    IF(AND( datum >= TODAY()- n , datum <TODAY()), value_if_true, value_if_false)

    Om du till exempel vill avgöra om ett datum i A2 har inträffat under de senaste 7 dagarna är formeln:

    =IF(AND(A2>=TODAY()-7, A2

    Förhoppningsvis har våra exempel hjälpt dig att förstå hur du använder Om mellan formel i Excel på ett effektivt sätt. Jag tackar dig för att du läste och hoppas att vi ses på vår blogg nästa vecka!

    Arbetsbok för övning

    Excel Om mellan - exempel på formler (.xlsx-fil)

    Michael Brown är en hängiven teknikentusiast med en passion för att förenkla komplexa processer med hjälp av mjukvaruverktyg. Med mer än ett decenniums erfarenhet inom teknikbranschen har han finslipat sina kunskaper i Microsoft Excel och Outlook, samt Google Sheets och Docs. Michaels blogg är tillägnad att dela med sig av sin kunskap och expertis med andra, och tillhandahåller lätta att följa tips och handledningar för att förbättra produktiviteten och effektiviteten. Oavsett om du är en erfaren proffs eller nybörjare, erbjuder Michaels blogg värdefulla insikter och praktiska råd för att få ut det mesta av dessa viktiga programvaruverktyg.