Com empaquetar correctament un paracaigudes?
Benefici. EdiciĆ³ 2, revisada.
Suposem que tenim la segĆ¼ent taula d'ordres:
Hem de saber, per exemple, quin va ser l'import de la tercera comanda d'Ivanov o quan Petrov va executar el seu segon acord. La funciĆ³ VLOOKUP integrada nomĆ©s pot cercar la primera ocurrĆØncia del cognom a la taula i no ens ajudarĆ . Preguntes com "Qui era el gerent de la comanda nĆŗmero 10256?" tambĆ© romandrĆ sense resposta, tk. la VLOOKUP integrada no Ć©s capaƧ de retornar valors de les columnes a l'esquerra de la cerca.
Tots dos problemes es resolen d'un sol cop: anem a escriure la nostra prĆ²pia funciĆ³ que buscarĆ no nomĆ©s la primera, sinĆ³, en el cas general, la enĆØsima ocurrĆØncia. A mĆ©s, podrĆ cercar i produir resultats en qualsevol columna. Diguem-ho, per exemple, VLOOKUP2.
Obriu l'Editor de Visual Basic prement ALT+F11 o seleccionant al menĆŗ Servei ā Macro ā Editor Visual Basic (Eines ā Macro ā Editor Visual Basic), inseriu un mĆ²dul nou (menĆŗ Inserir ā MĆ²dul) i copieu-hi el text d'aquesta funciĆ³:
FunciĆ³ VLOOKUP2 (Taula com a variant, SearchColumnNum com a llarg, SearchValue com a variant, _ N com a llarg, ResultColumnNum com a llarg) Dim i As Long, iCompta com a llarg Seleccioneu el tipus de cas Nom(Taula) Cas "Range" Per a i = 1 A taula.Files .Count If Table.Cells(i, SearchColumnNum) = SearchValue Then iCount = iCount + 1 End If If iCount = N Then VLOOKUP2 = Table.Cells(i, ResultColumnNum) Exit For End If Next i Case "Variant()" For i = 1 a UBound(Table) If Table(i, SearchColumnNum) = SearchValue Aleshores iCount = iCount + 1 If iCount = N Aleshores VLOOKUP2 = Table (i, ResultColumnNum) Sortir per a final Si el segĆ¼ent i Finalitzar SelecciĆ³ de la funciĆ³ de finalitzaciĆ³
Tanqueu l'Editor de Visual Basic i torneu a Excel.
Ara a travĆ©s Inserir - FunciĆ³ (Insereix ā FunciĆ³) en categoria Usuari definit (Usuari definit) podeu trobar la nostra funciĆ³ VLOOKUP2 i utilitzar-la. La sintaxi de la funciĆ³ Ć©s la segĆ¼ent:
=VLOOKUP2(taula; nombre_de_columnes_on_busquem; valor_de_cerca; N; nombre_de_columnes_de_a_obtenir_el_valor)
Ara les limitacions de la funciĆ³ estĆ ndard no ens sĆ³n un obstacle:
PS AgraĆÆment especial a The_Prist per millorar la funciĆ³ perquĆØ pugui cercar en llibres tancats.
- Cercar i substituir dades d'una taula a una altra mitjanƧant la funciĆ³ BUSCAR V
- "Cerca V esquerra" mitjanƧant les funcions INDEX i MATCH