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.
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) |
Klicka ange för att få kontrollresultatet.
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.
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.
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
Klicka för att ladda ner exempelfilen
Relativa formler
- Kontrollera om en cell innehåller en specifik text
För att kontrollera om en cell innehåller några texter i intervall A men inte innehåller texterna i intervall B, kan du använda en matrisformel som kombinerar funktionen RÄKNING, SÖK och OCH i Excel - Kontrollera om cellen innehåller en av många saker
Denna handledning ger en formel för att kontrollera om en cell innehåller ett av flera värden i Excel, och förklarar argumenten i formeln och hur formeln fungerar. - Kontrollera om cellen innehåller en av sakerna
Om vi antar att i Excel finns en lista med värden i kolumn E, du vill kontrollera om cellerna i kolumn B innehåller alla värden i kolumn E och returnera SANT eller FALSKT. - Kontrollera om cellen innehåller nummer
Ibland kanske du vill kontrollera om en cell innehåller numeriska tecken. Denna handledning ger en formel som returnerar SANT om cellen innehåller nummer, FALSKT om cellen inte innehåller nummer.
De bästa Office-produktivitetsverktygen
Kutools för Excel - Hjälper dig att sticka ut från mängden
Kutools för Excel har över 300 funktioner, Se till att det du behöver bara är ett klick bort...
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 visar och redigerar flera dokument.
- Ger effektiva flikar till Office (inklusive Excel), precis som Chrome, Edge och Firefox.