Taula de continguts
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ó