Excel VLOOKUP per trobar l'últim valor a la columna (amb alternatives)

  • Comparteix Això
Hugh West

VLOOKUP és una funció molt popular a Excel que fa referència a la cerca vertical. Podem utilitzar la funció integrada VLOOKUP o fins i tot podem fer les nostres pròpies fórmules que funcionaran com a cerca vertical per retornar valor amb criteris més dinàmics. En aquest article, mostraré com trobar l'últim valor en una columna amb VLOOKUP a Excel.

Descarregueu el llibre de pràctiques

Baixeu el quadern d'Excel que hem utilitzat per preparar aquest article.

VLOOKUP Last Value in Column.xlsx

Ús de la funció VLOOKUP per Trobeu l'últim valor en una columna

Primer us presentem el nostre llibre de treball. En aquest full de dades, he utilitzat 3 columnes i 10 files per presentar els imports de vendes d'alguns venedors segons les dates corresponents.

En aquest mètode, trobarem l'última ocurrència d'un valor utilitzant la funció VLOOKUP . VLOOKUP significa " Vertical Lookup ". És una funció que fa que Excel cerqui un valor determinat en una columna. Aquí tenim 3 imports de vendes diferents de Bill. Ara trobarem l'import de les seves darreres vendes a Cel·la G5

Passos:

➦ Activa Cel·la G5 , escriviu la fórmula que es mostra a continuació:

=VLOOKUP(F5,C5:D13,2)

➦ Premeu el botó Enter i obtindreu la darrera ocurrència de les seves vendes.

Però VLOOKUP no donarà la resposta correcta per a dades no ordenades amanera aproximada. Vegeu la imatge següent.

I si fem servir la concordança exacta per al quart argument, mostrarà la primera coincidència com la imatge següent. Perquè vlookup utilitza la cerca binària. Així, quan troba un valor més gran que el valor de cerca, torna al valor anterior per mostrar-lo, vegeu-lo a la imatge següent.

Per superar aquesta situació per dades no ordenades per trobar l'última ocurrència haurem d'utilitzar funcions de cerca o altres fórmules combinades. Ara parlarem d'aquests mètodes a les seccions següents.

Alternatives a la funció VLOOKUP per trobar l'últim valor a la columna

Ara aplicarem quatre mètodes alternatius a trobeu l'últim valor d'una columna.

Mètode 1: utilitzeu la funció LOOKUP per trobar l'últim valor a la columna

Aquí trobarem l'últim valor d'una columna amb la funció CERCA a Excel. La funció CERCA s'utilitza per buscar a través d'una sola columna o fila per trobar un valor concret del mateix lloc en una segona columna o fila. Trobaré l'última quantitat de vendes aquí a la Cel·la G4.

Pasos:

➦ Activa la Cel·la G4.

➦ Escriviu la fórmula que es mostra a continuació:

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

➦ A continuació, premeu el botó Enter i obtindreu l'últim valor.

👉 Desglossament de la fórmula:

D :D””

Aquí comprovarà si les cel·les de la Columna D estan buides o no. Va aretorna com a-

{FALS;FALS;FALS;VERTADER;CERTADER;CERTADER;CERTADER;CERTADER;CERTADER;CERTADER;FALS...

1/(D:D””)

Hem dividit 1 pel resultat. Com que FAL vol dir 0 i TRUE significa 1 , el resultat serà el següent:

{#DIV/0!;#DIV/0!; #DIV/0!;1;1;1;1;1;1;1;#DIV/0!;#DIV/0!}

LOOKUP(2,1/(D:D””),D:D)

He establert el valor de cerca 2 perquè la funció de cerca trobarà 2 a través de la columna, quan arribarà a error, tornarà al seu valor més proper 1 i mostrarà aquest resultat. Tornarà com-

367

Mètode 2: utilitzeu les funcions INDEX i MATCH per trobar l'últim valor a la columna

Aquí farem servir la combinació de les funcions INDEX i MATCH . La funció INDEX retorna un valor o la referència a un valor d'una taula o rang. I la funció COINCORD s'utilitza per cercar un element especificat en un interval i després retorna la posició relativa d'aquest element a l'interval.

Passos:

➦ Escriviu la fórmula que es mostra a continuació a Cel·la G5

=INDEX(D5:D13,MATCH(F5,C5:C13,1))

➦ Premeu el botó Enter .

👉 Com funciona la fórmula:

MATCH(F5,C5:C13,1)

Aquí la funció MATCH s'utilitza per trobar el valor de Cel·la F5 per als elements ordenats en ordre ascendent de la matriu C5:C13. L'establiment del tercer argument "1" indica el valor aproximatpartit. Ara la funció tornarà com-

6

En realitat està mostrant el número de fila comptat des de la primera entrada.

INDEX(D5:D13,MATCH(F5,C5:C13,1))

I la funció INDEX donarà les vendes corresponents ( D5:D13) segons la coincidència anterior de la matriu ( C5:C13) que tornarà com-

367

En realitat, aquesta és l'última ocurrència de Cel·la F5

Mètode 3: combinació de funcions INDEX, MAX, SUMPRODUCT i ROW per trobar l'últim valor a la columna

Ara farem la tasca amb la combinació de les funcions INDEX, MAX, SUMPRODUCT i ROW . La funció ROW trobarà els números de fila. SUMPRODUCT és una funció que multiplica un rang de cel·les o matrius i retorna la suma de productes. La funció MAX trobarà el nombre màxim. I la funció INDEX retorna un valor o la referència a un valor d'una taula o rang.

Passos:

➦ Activa l'edició a Cel·la F7

➦ Copieu i enganxeu la fórmula que es mostra a continuació:

=INDEX($C$5:$C$13,SUMPRODUCT(MAX(ROW($B$5:$B$13)*($E$7=$B$5:$B$13))-4))

➦ I premeu Enter botó.

👉 Com funciona la fórmula:

ROW($B$5:$B$13)

La funció ROW mostrarà el número de fila de la matriu que tornarà com a-

{ 5;6;7;8;9;10;11;12;13}

($E$7=$B$5:$B$13)

Aquí la cel·la E7 és el nostre valor de cerca i aixòla fórmula la coincidirà a través de la matriu B5:B13 . Aleshores tornarà com a-

{FALS;FALS;FALS;FALS;VERTADER;FALS;FALS;FALS;CERTADER

ROW($B$5:$B$13)*($E$7=$B$5:$B$13)

És la multiplicació de les dues fórmules anteriors la que en realitat multiplicarà el números de fila corresponents. FALS significa 0 i VERTADER significa 1 . Així, després de la multiplicació, tornarà com-

{0;0;0;0;9;0;0;0;13}

MAX(FILA($B$5:$B$13)*($E$7=$B$5:$B$13))

El MAX La funció trobarà el valor màxim del resultat anterior que tornarà com a

13

SUMPRODUCT(MAX(ROW($ B$5:$B$13)*($E$7=$B$5:$B$13))-4)

Ara s'utilitza la funció SUMPRODUCT per trobar la fila número a la matriu . Com que la nostra llista comença a partir de la 5a fila, s'ha restat 4 . Per tant, la posició de l'última ocurrència de Bill és 9 a la nostra llista, de manera que la fórmula tornarà com-

9 .

ÍNDEX($C$5:$C$13,SUMAPRODUCTE(MAX(FILERA($B$5:$B$13))*($E$7=$B$5: $B$13))-4))

La funció INDEX s'utilitza per trobar les vendes del darrer nom coincident. I tornarà com-

563

Aquesta és la nostra última aparició per a Bill.

Mètode 4 : Utilitzeu Excel VBA per trobar l'última ocurrència d'un valor a la columna

Si voleu codificar a Excel, aquest mètode és adequat per a vosaltres. Nosaltrestambé pot realitzar l'operació anterior utilitzant el mètode VBA. Anem a seguir els passos següents com ho podem fer fàcilment.

Per això, al principi, faré una barra desplegable per als noms únics. A continuació, faré una nova funció definida per l'usuari " LastItemLookup " amb VBA que utilitzarem per trobar l'última ocurrència.

Pas 1. :

➦ Primer, copieu els noms únics del full principal a un nou full.

Pas 2:

➦ A continuació, aneu al full principal. Activa qualsevol cel·la nova. He triat E5.

➦ Feu clic a Dades > Eines de dades > Validació de dades.

Apareixerà un quadre de diàleg .

Pas 3:

➦ Seleccioneu Llista a la barra Permet .

➦ A continuació, premeu la icona obre de la Font bar.

Pas 4:

➦ Després d'això, aneu al vostre nou full i seleccioneu els noms únics.

➦ Premeu D'acord

Vegeu que es mostra un signe de fletxa avall al costat dret d'aquesta cel·la. Fent clic aquí podeu seleccionar qualsevol nom. Això ens estalviarà temps perquè no haurem d'escriure els noms cada cop.

Ara farem una nova funció anomenada LastItemLookup amb Excel VBA.

Pas 5:

➦ R feu clic amb el botó dret del ratolí al nom del full.

➦ Seleccioneu Visualitza el codi al menú contextual .

S'obrirà una finestra VBA .

Pas 6:

➦ Escriviu els codis donatsa continuació:

8787

Pas 7:

➦ A continuació, premeu el botó de reproducció per executar els codis. Apareixerà un quadre de diàleg anomenat Macros .

➦ Feu clic a Executar .

La nostra nova funció ja està a punt.

Pas 8:

➦ Ara torneu al vostre full de treball.

➦ Activeu Cel·la F5

➦ Escriviu la fórmula que es mostra a continuació amb la nova funció.

=LastItemLookup(E5,B5:C13,2)

➦ Premeu Enter per obtenir la resultat de l'última aparició per a Ron .

Ara, quan trieu el nom de qualsevol venedor, obtindreu el seu valor de darrera aparició corresponent.

Conclusió

Espero que tots els mètodes descrits anteriorment siguin prou bé per buscar l'últim valor d'una columna. No dubteu a fer qualsevol pregunta a la secció de comentaris i feu-me la vostra opinió

Hugh West és un entrenador i analista d'Excel molt experimentat amb més de 10 anys d'experiència en el sector. És llicenciat en Comptabilitat i Finances i Màster en Administració i Direcció d'Empreses. Hugh té una passió per l'ensenyament i ha desenvolupat un enfocament pedagògic únic que és fàcil de seguir i entendre. El seu coneixement expert d'Excel ha ajudat a milers d'estudiants i professionals de tot el món a millorar les seves habilitats i a destacar en les seves carreres. A través del seu bloc, Hugh comparteix els seus coneixements amb el món, oferint tutorials d'Excel gratuïts i formació en línia per ajudar les persones i les empreses a assolir tot el seu potencial.