Note: The other languages of the website are Google-translated. Back to English
English English

Excel-formel: Kontrollera om en cell innehåller ett av flera värden men utesluter andra värden

Om vi ​​antar att det finns två listor med värden, vill du kontrollera om cellen B3 innehåller ett av värdena i intervallet E3: E5, men samtidigt innehåller det inga värden i intervallet F3: F4 som visas nedan. Denna handledning ger en formel för att snabbt hantera denna uppgift i Excel och förklara argumenten för formeln.
doc kontrollera om innehåller något av saker men uteslut 1

Generisk formel:

=(SUMPRODUCT(--ISNUMBER(SEARCH(include,text)))>0) *(SUMPRODUCT(--ISNUMBER(SEARCH(exclude,text)))=0)

Argument

Text: the text string you want to check.
Include: the values you want to check if argument text contains.
Exclude: the values you want to check if argument text does not contain.

Returvärde:

Formeln returnerar 1 eller 0. När cellen innehåller ett av de värden som behövs för att inkluderas och inte innehåller några värden som behövs för att uteslutas, returnerar den 1 eller så returneras 0. Denna formel, 1 och 0 hanteras som logiska värden Sant och falskt.

Hur den här formeln fungerar

Om du antar att du vill kontrollera om cellen B3 innehåller ett av värdena i intervallet E3: E5, men samtidigt utesluter värden i intervallet F3: F4, använd nedanstående formel

=(SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B3)))>0)*(SUMPRODUCT(--ISNUMBER(SEARCH($F$3:$F$4,B3)))=0)

Presse ange för att få kontrollresultatet.
doc kontrollera om innehåller något av saker men uteslut 2

Förklaring

Del 1: (SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B3)))>0) kontrollerar om cellen innehåller värden i E3: E5

SÖK funktion: SÖK-funktionen returnerar positionen för det första tecknet i textsträngen i en annan, om SÖK-funktionen hittar den matchade texten, returnerar den relativa positionen, om inte, returnerar den #VÄRDE! fel. Till exempel här formeln SEARCH($E$3:$E$5,B3) kommer att söka i varje värde i intervallet E3: E5 i cell B3 och returnerar platsen för varje textsträng i cellen B3. Det returnerar ett matrisresultat så här: {1; 7; 12}.

ISNUMBER-funktion: ISNUMBER-funktionen returnerar SANT när en cell är ett tal. Så ISNUMBER(SEARCH($E$3:$E$5,B3)) returnerar matrisresultatet som {true, true, true} eftersom SÖK-funktionen hittar 3 siffror.

--ISNUMBER(SEARCH($E$3:$E$5,B3)) konverterar SANT-värdet till 1 och omvandlar FALSKT-värde till 0, så denna formel ändrar matrisresultatet till {1; 1; 1}.

SUMPRODUCT funktion: används för att multiplicera intervall eller summera matriser tillsammans och returnera summan av produkter. De SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B3))) returnerar 1 + 1 + 1 = 3.

Äntligen, jämför vänster formel SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B3))) och 0, så länge som resultatet av den vänstra formeln är större än 0, blir resultatet SANT, eller så returneras FALSKT. Här returnerar det SANT.
doc kontrollera om innehåller något av saker men uteslut 3

Del 2: (SUMPRODUCT(--ISNUMBER(SEARCH($F$3:$F$4,B3)))=0) kontrollerar om cellen inte innehåller värden i F3: F4

Formeln SÖK ($ F $ 3: $ F $ 4, B3) söker efter varje värde i intervallet E3: E5 i cell B3 och returnerar platsen för varje textsträng i cellen B3. Det returnerar ett matrisresultat så här: {#VÄRDE!; # VÄRDE!}.

ISNUMBER(SEARCH($F$3:$F$4,B3)) returnerar arrayresultat som {false; false} eftersom SEARCH-funktionen hittar 0-nummer.

--ISNUMBER(SEARCH($F$3:$F$4,B3)) konverterar SANT-värdet till 1 och omvandlar FALSKT-värde till 0, så denna formel ändrar matrisresultatet till {0; 0}.

SUMPRODUCT funktion: används för att multiplicera intervall eller summera matriser tillsammans och returnera summan av produkter. De SUMPRODUCT(--ISNUMBER(SEARCH($F$3:$F$4,B3))) returnerar 0 + 0 = 0.

Äntligen, jämför vänster formel SUMPRODUCT(--ISNUMBER(SEARCH($F$3:$F$4,B3))) och 0, så länge som resultatet av den vänstra formeln är lika med 0, kommer resultatet att returnera SANT, eller så kommer det att returnera FALSE. Här returnerar det SANT.
doc kontrollera om innehåller något av saker men uteslut 4

Del 3: Flera två formler

=(SUMPRODUCT(--ISNUMBER(SEARCH($E$3:$E$5,B3)))>0)*(SUMPRODUCT(--ISNUMBER(SEARCH($F$3:$F$4,B3)))=0)

=TRUE*TRUE

=1

Denna formel, 1 och 0 hanteras som logiska värden SANT och FALSKT.

Provfil

doc-provKlicka för att ladda ner exempelfilen


Relativa formler


De bästa Office-produktivitetsverktygen

Kutools för Excel - Hjälper dig att sticka ut från mängden

Vill du slutföra ditt dagliga arbete snabbt och perfekt? Kutools för Excel ger 300 kraftfulla avancerade funktioner (kombinera arbetsböcker, summera efter färg, dela cellinnehåll, konvertera datum och så vidare ...) och spara 80% tid åt dig.

  • Designad för 1500 arbetsscenarier, hjälper dig att lösa 80% Excel-problem.
  • Minska tusentals tangentbord och musklick varje dag, lindra dina trötta ögon och händer.
  • Bli en expert på 3 minuter. Behöver inte längre komma ihåg några smärtsamma formler och VBA-koder.
  • 30 dagars obegränsad gratis provperiod. 60-dagars pengarna tillbaka-garanti. Gratis uppgradering och support i 2 år.
Ribbon of Excel (med Kutools för Excel installerat)

Fliken Office - Aktivera läsning och redigering av flikar i Microsoft Office (inkluderar Excel)

  • En sekund att växla mellan dussintals öppna dokument!
  • Minska hundratals musklick åt dig varje dag, säg adjö till mushanden.
  • Ökar din produktivitet med 50% när du tittar på och redigerar flera dokument.
  • Ger effektiva flikar till Office (inkluderar Excel), precis som Chrome, Firefox och ny Internet Explorer.
Skärmdump av Excel (med Office-fliken installerad)
Sortera kommentarer efter
Kommentarer (1)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
avec les fonctions en français ça donne : SOMMEPROD(--ESTNUM(CHERCHE(Liste;B2)))
Det finns inga kommentarer här ännu
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser