Sök efter sista värde i kolumn eller rad - Excel

Ladda ner exempel på arbetsbok

Ladda ner exempelarbetsboken

Denna handledning lär dig hur du letar upp det sista värdet i kolumn eller rad i Excel.

Sista värdet i kolumn

Du kan använda LOOKUP-funktionen för att hitta den sista cellen som inte är tom i en kolumn.

1 = LOOKUP (2,1/(B: B ""), B: B)

Låt oss gå igenom denna formel.

Delen av formeln B: B ”” returnerar en matris som innehåller sanna och falska värden: {FALSE, TRUE, TRUE,…}. Att testa varje cell i kolumn B är tom (FALSE).

1 = SÖK (2,1/({FALSKT; SANT; SANT; SANT; SANT; SANT; FALSKT …), B: B)

Dessa booleska värden konverteras till 0 eller 1 och används för att dela 1.

1 = LOOKUP (2, {#DIV/0!; 1; 1; 1; 1; 1;#DIV/0!;, B: B)

Detta är uppslagningsvektorn för LOOKUP -funktionen. I vårt fall är lookup_value 2, men det största värdet i lookup_vector är 1, så LOOKUP -funktionen matchar den sista 1 i arrayen och returnerar motsvarande värde i result_vector.

Om du är säker på att du bara har numeriska värden i din kolumn, din data börjar från rad 1 och ditt dataintervall i kontinuerlig, kan du använda en något enklare formel med INDEX och RÄTTA -funktionerna.

1 = INDEX (B: B, COUNT (B: B))

Räkningsfunktionen returnerar antalet celler fyllda med data i det kontinuerliga området (4) och INDEX -funktionen ger således cellens värde i motsvarande rad (4: e).

För att undvika eventuella fel när ditt dataområde innehåller en blandning av numeriska och icke-numeriska värden, eller till och med några tomma celler, kan du använda LOOKUP-funktionen tillsammans med ISBLANK- och NOT-funktionerna.

1 = LOOKUP (2,1/(NOT (ISBLANK (B: B))), B: B)

ISBLANK -funktionen returnerar en array som innehåller sanna och falska värden, motsvarande 1: or och 0: or. NOT -funktionen ändrar True (dvs. 1) till False och False (dvs. 0) till True. Om vi ​​inverterar denna resulterande array (när vi delar 1 med denna array) får vi en resultatmatrix som innehåller igen #DIV/0! fel och 1: or, som kan användas som uppslagsmatris (lookup_vector) i vår LOOKUP -funktion. Funktionen för LOOKUP -funktionen är då densamma som den var i vårt första exempel: den returnerar värdet på resultatvektorn vid positionen för den sista 1 i uppslagsmatrisen.

När du behöver radnumret med den sista posten för att returneras kan du ändra formeln som används i vårt första exempel tillsammans med RAD -funktionen i din result_vector.

1 = LOOKUP (2,1/(B: B ""), RAD (B: B))

Sista värdet i rad

För att få den sista icke-tomma cellens värde i en rad fylld med numeriska data, kanske du vill använda en liknande metod men med olika funktioner: OFFSET-funktionen tillsammans med MATCH- och MAX-funktionerna.

1 = OFFSET (Referens, rader, kolumner)
1 = OFFSET (B2,0, MATCH (MAX (B2: XFD2)+1, B2: XFD2,1) -1)

Låt oss se hur denna formel fungerar.

MATCH -funktion

Vi använder MATCH -funktionen för att "räkna" hur många cellvärden som är under 1 + maxvärdet för alla värden i rad2 från och med B2.

1 = MATCH (lookup_value, lookup_array, [match_type])
1 = MATCH (MAX (B2: XFD2)+1, B2: XFD2,1)

Uppslagningsvärdet för MATCH -funktionen är maxvärdet för alla värden i rad2 + 1. Eftersom detta värde uppenbarligen inte existerar i rad2 och matchningstypen är inställd på 1 (mindre än eller lika med uppslagningsvärde), kommer MATCH -funktionen att returnera senaste "kontrollerade" cellens position i arrayen, det vill säga antalet celler fyllda med data i intervallet B2: XFD2 (XFD är den allra sista kolumnen i de nyare versionerna av Excel).

OFFSET -funktion

Sedan använder vi OFFSET -funktionen för att få värdet på denna cell, vars position returnerades av MATCH -funktionen.

1 = OFFSET (B2,0, C4-1)

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave