Excel-formel: Matchningen först börjar inte med -

Innehållsförteckning

Generisk formel

(=MATCH(TRUE,IF(LEFT(range,1)"N",TRUE),0))

Sammanfattning

För att matcha det första värdet som inte börjar med en viss sträng kan du använda en matris baserad på MATCH och LEFT-funktionerna. I exemplet som visas är formeln i F5:

(=MATCH(TRUE,IF(LEFT(code,1)"N",TRUE),0))

där "kod" är det namngivna området B5: B12.

Obs: detta är en matrisformel och måste anges med kontroll + skift + enter.

Förklaring

Nyckeln till denna formel är matrisen eller SANT och FALSKA värden konstruerade med detta uttryck:

LEFT(code,1)"N"

Här utvärderas varje värde i det angivna intervallet "kod" med det logiska testet "första bokstaven är inte N". Resultatet är en matris eller SANT och FALSKA värden så här:

(FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE)

Denna matris matas in i MATCH-funktionen som uppslagsmatris. Sökningsvärdet är SANT och matchningstypen är noll för att tvinga en exakt matchning. MATCH-funktionen returnerar positionen för det första värdet som inte börjar med bokstaven "N" (Z09876), som är 5.

INDEX och MATCH

För att hämta ett värde som är associerat med positionen som returneras av MATCH kan du lägga till INDEX-funktionen. I det visade exemplet är formeln i F6:

(=INDEX(value,MATCH(TRUE,LEFT(code,1)"N",0)))

Observera att vi använder samma MATCH-formel ovan för att tillhandahålla ett radnummer till INDEX, med matrisen inställd på det angivna intervallet "värde". Som tidigare returnerar MATCH 5. INDEX returnerar sedan värdet på den positionen, -23.

Som tidigare är detta en matrisformel och måste anges med kontroll + skift + enter.

Intressanta artiklar...