Como embalar correctamente un paracaĆdas?
Beneficio. EdiciĆ³n 2, revisada.
Digamos que temos a seguinte tƔboa de pedidos:
Necesitamos saber, por exemplo, cal foi o importe do terceiro pedido de Ivanov ou cando Petrov executou o seu segundo acordo. A funciĆ³n VLOOKUP integrada sĆ³ pode buscar a primeira apariciĆ³n do apelido na tĆ”boa e non nos axudarĆ”. Preguntas como "Quen era o xestor da orde nĆŗmero 10256?" tamĆ©n permanecerĆ” sen resposta, tk. o VLOOKUP integrado non Ć© capaz de devolver valores das columnas Ć” esquerda da busca.
Estes dous problemas resĆ³lvense dunha soa vez: escribamos a nosa propia funciĆ³n que buscarĆ” non sĆ³ a primeira, senĆ³n, no caso xeral, a enĆ©sima ocorrencia. Ademais, poderĆ” buscar e producir resultados en calquera columna. ChamĆ©moslle, por exemplo, BUSCARV2.
Abra o Editor de Visual Basic premendo ALT+F11 ou seleccionando no menĆŗ Servizo ā Macro ā Editor de Visual Basic (Ferramentas ā Macro ā Editor de Visual Basic), inserir un novo mĆ³dulo (menĆŗ Inserir ā MĆ³dulo) e copia alĆ o texto desta funciĆ³n:
FunciĆ³n VLOOKUP2(TĆ”boa como variante, SearchColumnNum como longo, SearchValue como variante, _ N como longo, ResultColumnNum como longo) Dim i As Long, iCount As Long Seleccione Case TypeName(TĆ”boa) Case "Range" For i = 1 To Table.Rows .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 To UBound(Table) If Table(i, SearchColumnNum) = SearchValue EntĆ³n iCount = iCount + 1 If iCount = N Then VLOOKUP2 = Table (i, ResultColumnNum) SaĆr para o final Se segue i End Seleccionar funciĆ³n final
Pecha o Editor de Visual Basic e volve a Excel.
Agora pasou Inserir - FunciĆ³n (Inserir ā FunciĆ³n) na categorĆa Definido polo usuario (Definido polo usuario) podes atopar a nosa funciĆ³n VLOOKUP2 e usala. A sintaxe da funciĆ³n Ć© a seguinte:
=VLOOKUP2(tĆ”boa; nĆŗmero_de_columnas_onde_buscamos; valor_busca; N; nĆŗmero_de_columnas_de_a_obter_valor)
Agora as limitaciĆ³ns da funciĆ³n estĆ”ndar non son un obstĆ”culo para nĆ³s:
PS Agradecemento especial a The_Prist por mellorar a funciĆ³n para que poida buscar en libros pechados.
- Buscar e substituĆr datos dunha tĆ”boa a outra mediante a funciĆ³n BUSCAR V
- "BUSCAR V ESQUERDA" usando as funciĆ³ns INDEX e MATCH