Anda di halaman 1dari 6

PROGRAMA COMPLETO EN

EXCEL AVANZADO

SESIN 6 FUNCIONES DE BSQUEDA Y APLICACIONES


1. BUSCARH: La funcin BUSCARH en Excel busca un valor dentro de una fila y
devuelve el valor que ha sido encontrado o un error #N/A en caso de no haberlo
encontrado. Nunca se debe olvidar que la funcin BUSCARH siempre realizar
la bsqueda sobre la primera fila de los datos.

Valor_buscado (obligatorio): El valor que estamos buscando.


Matriz_buscar_en (obligatorio): El rango que contiene los valores y que debe
ser una fila.
Indicador_filas (obligatorio): El nmero de fila que contiene el valor que
regresar la funcin.
Ordenado (opcional): El valor debe ser FALSO si queremos una coincidencia
exacta o VERDADERO para una coincidencia aproximada.

En este caso la bsqueda se realiza teniendo en consideracin que el pas


seleccionado puede estar en la primera fila y se devuelve el valor de la fila total:

=BUSCARH(Pais, Rango, 5, 0)

AO ARGENTINA BRASIL PARAGUAY EUA MXICO


2009 448.3 3427.8 198.0 7437.2 401.0
2010 417.7 2723.6 180.0 7413.6 447.9
2011 545.0 3907.6 105.0 6665.9 378.9
TOTAL 1411.0 10059.0 483.0 21516.7 1227.7

PAS BRASIL
PRODUCCIN TOTAL 10059

2. BUSCARV: permite encontrar un valor en la primera columna dentro de un rango de


datos, es decir, podemos buscar un valor de manera vertical dentro de una tabla y
saber si dicho valor existe o no. Nunca se debe olvidar que la funcin BUSCARV
siempre realizar la bsqueda sobre la primera columna de los datos.

Valor_buscado (obligatorio): Este es el valor que queremos encontrar y el


cual ser buscado en la primera columna del rango de datos. Podemos
colocar el texto encerrado en comillas o podemos colocar la referencia a una
celda que contenga el valor buscado.
Matriz_buscar_en (obligatorio): El segundo argumento es una referencia al
rango de celdas que contiene los datos.
PROGRAMA COMPLETO EN
EXCEL AVANZADO

Indicador_columnas (obligatorio): El Indicador_columnas es el nmero de


columna que deseamos obtener como resultado.
Ordenado (opcional): tipo de bsqueda que realizar y que puede ser una
bsqueda exacta (FALSO) o una bsqueda aproximada (VERDADERO). Si
este argumento se omite se supondr un valor VERDADERO.

En este caso la bsqueda se realiza teniendo en consideracin que el ao


seleccionado puede estar en la primera columna y se devuelve el valor de la
columna en donde se encuentra el pas

=BUSCARV(Ao, Rango, 3, 0)

AO ARGENTINA BRASIL PARAGUAY EUA MXICO TOTAL


2009 448.3 3427.8 198.0 7437.2 401.0 13921.3
2010 417.7 2723.6 180.0 7413.6 447.9 13192.8
2011 545.0 3907.6 105.0 6665.9 378.9 13613.4

AO 2010
BRASIL 2723.6

3. NDICE: ayuda a obtener el valor de una celda dentro de una matriz especificando el
nmero de fila y columna. Esta funcin tiene dos formas de uso: de forma matricial y
de forma de referencia.

MATRIZ: ayuda a obtener el valor de la celda que se encuentra justamente en el


cruce de la fila y de la columna que hayamos especificado
En este caso se realizara se obtendr valores de marca color y propietario, de
acuerdo a las filas y columnas.
=INDICE(Rango,Fila, Columna)
INDICE: Matriz

N MARCA COLOR PROPIETARIO


01 ALFA ROMEO ROJO CARLOS PINTO Nmero de Fila 3
02 AUDI DORADO ZAIDA CORRETEA Nmero de Columna 2
03 BMW CREMA ROSARIO BUSTOS MARCA BMW
04 CHEVROLET AMARILLO PEDRO BELTRAN
05 CITROEN ROJO VICTOR ZUIGA
06 DAEWOO PLATEADO JUAN CORREA Nmero de Fila 3
07 DODGE CELESTE ALEJANDRA CASTILLO Nmero de Columna 3
08 FIAT CREMA MAURICIO LEMUS COLOR CREMA
09 FORD MARRN ANDRES GALDAMEZ
10 HONDA AMARILLO FABIANA HERNANDEZ
11 HYUNDAI PLOMO FRANCISCO NAVIA Nmero de Fila 3
12 JEEP PLOMO GEMA ESPINOZA Nmero de Columna 4
13 LAND ROVER PLATEADO CASTILLO FERNANDO PROPIETARIO ROSARIO BUSTOS
14 MAZDA PLATEADO ROSA LOPEZ
15 MERCEDES BENZ PLOMO MARIA SEPULVEDA
16 MITSUBISHI NEGRO MANUEL GONZALEZ Nmero de Fila 3
17 NISSAN PLATEADO LEONARDO GODOY PROPIETARIO BMW
18 PEUGEOT BLANCO VALENTINA GRAS MARCA CREMA
19 PORSCHE VERDE MARCELO IBARRA COLOR ROSARIO BUSTOS
20 RENAULT ROJO JORGE JORQUERA
21 SUBARU AZUL LUIS PEREZ
22 SUZUKI PLATEADO ANTONIO JARA
23 TOYOTA PERLA ARETA MANNS
24 VOLKSWAGEN PERLA JOSE VARGAS
25 VOLVO PLATEADO ALADINO VILLAGRAN
PROGRAMA COMPLETO EN
EXCEL AVANZADO

REFERENCIAS: es similar a la anterior pero con la diferencia de que en lugar de


especificar una sola matriz podemos indicar ms de una matriz.
En este caso se realizara se obtendr valores de Precio, color y propietario, de
acuerdo a las filas y columnas.
=INDICE((Rango1,Rango2),Fila, Columna, Area)

INDICE: Referencia

CELULAR PRECIO MOVISTAR


Apple iPhone 5 32 Gb 1539
Samsung Galaxy Note 3 1809 Nmero de Fila 3
Samsung Galaxy S5 G900 1469 Nmero de Columna 2
Apple iPhone 6 128 Gb 1949 Nmero de rea 2
Sony Xperia Z2 Sony D6503 1849 INDICE 1299

CELULAR PRECIO CLARO


Apple iPhone 5 32 Gb 1499
Samsung Galaxy Note 3 1699
Samsung Galaxy S5 G900 1299
Apple iPhone 6 128 Gb 1759
Sony Xperia Z2 Sony D6503 1589

4. COINCIDIR: ayuda a localizar un elemento dentro de un rango de celdas y devuelve


su posicin. En otras palabras, la funcin COINCIDIR ayuda a obtener el nmero de
fila o columna que ocupa el elemento buscado.

COINCIDIR

PUESTO PILOTO MARCA


01 Michael Schumacher Mercedes Matriz Vertical
02 Mark Webber Red Bull PILOTO Mark Webber
03 Nico Rosberg Mercedes POSICIN 2
04 Lewis Hamilton McLaren
05 Romain Grosjean Lotus
06 Fernando Alonso Ferrari MARCA Red Bull
07 Felipe Massa Ferrari POSICIN 2
08 Kimi Rikknen Lotus
09 Pastor Maldonado Williams
10 Sebastian Vettel Red Bull Matriz Horizontal
11 Nico Hlkenberg Force India COLUMNA Puesto
12 Kamui Kobayashi Sauber N COLUMNA 1
13 Jenson Button McLaren
14 Bruno Senna Williams
15 Paul di Resta Force India
16 Daniel Ricciardo Toro Rosso
5. BSQUEDA
17 INVERSA:
Jean-Eric Vergne Permite
Toro Rosso realizar la bsqueda de valores sin necesidad que
18 Heikki
el elemento deKovalainen
bsquedaCaterham
se encuentre en la primera columna o fila. En este caso se
har19uso de
Vitaly Petrov
las funcionesCaterham
ndice y Coincidir:
20 Timo Glock Marussia
21 Pedro de la Rosa HRT
Con22la funcin Coincidir,Marussia
Charles Pic se obtendr el nmero de fila en donde est ubicado el
elemento
23 a buscar:
Narain Karthikeyan HRT
24 Sergio Perez Sauber
=COINCIDIR(N Cliente, Rango, 0)

Con la funcin Indice se obtendr el valor del nombre, cargo, compaa, email, de
acuerdo a la interseccin de la fila que se devolvi con coincidir y la columna que
represente el elemento a devolver:
PROGRAMA COMPLETO EN
EXCEL AVANZADO

=INDICE(Matriz, COINCIDIR(N Cliente, Rango, 0), 2) Nombres


=INDICE(Matriz, COINCIDIR(N Cliente, Rango, 0), 3) Cargo
=INDICE(Matriz, COINCIDIR(N Cliente, Rango, 0), 4) Compaa
=INDICE(Matriz, COINCIDIR(N Cliente, Rango, 0), 6) Email
Ttulo NOMBRE CARGO COMPAA N o de Cliente Email
Licenciado Rubn Medrano Jefe de Compras Tagarpulos, S.A. 5021 ruben@tagaropulos.com
Licenciada Migdalia Fuentes Gerente de Finanzas Universidad Santa Mara La Antigua 1765 migdalia@usma.com
Seor Silvestre Reid Jefe de Logstica Cemento Panam, S.A. 817 jose@hotel.com
Doctor Rafael Martn Gerente de Finanzas Complejo Hospitalario Metropolitano 447 rafael@chmcss.com
Licenciada Carmen de Morales jefa de Logstica Hospital Santo Toms 159 carmen@hst.com
Licenciada Marianela Miranda Gerente de Finanzas Kodak Panam 2236 marianela@kodak.com
Doctora Mirna de Abood Yunsn Jefa de Compras Johnson & Johnson 8464 mirna@johnson.com
Ingeniera Zaira de Rodrguez Gerente de Finanzas Universidad Tecnolgica 6940 zaira@tecnologica.com
Ingeniero Jaime Prez Jaramillo Gerente Administrativo Delta Ingeniera, S.A. 6433 jaime@delta.com
Licenciado Eduardo Prez Jaramillo Gerente Administrativo Productos Howard, S.A. 4654 eduardo@productoshoward.com
Seor Mariano Mena Gerente General Tecnilab, S.A. 2807 mariano@tecnilab.com
Licenciado Alvino De Len Jefe de Servicio Galup de Panam, S.A. 5823 alvino@galup.com
Seor Alberto Navarro Gerente de Finanzas Jardines, S.A. 4938 alberto@jardines.com
Licenciado Aurelio Buenda Gerente Administrativo Forestropic, S.A. 374 aurelio@forestropic.com
Seora Rosala Ceballos Gerente de Finanzas El Tastevn 5503 rosala@tastevn.com

BUSQUEDA INVERSA

N CLIENTE 1765
NOMBRES Migdalia Fuentes
CARGO Gerente de Finanzas
COMPAA Universidad Santa Mara La Antigua
EMAIL migdalia@usma.com
6. BSQUEDA SENSITIVA E INTELIGENTE

Se desarrollar este tipo de bsqueda usando controles Activex, macros y funciones.

Cuadro de Texto de nombre: TxtbusquedaN

Considerando:
WorksheetFunction.Match: Funcin Coincidir en Visual Basic
WorksheetFunction.Index: Funcin Indice en Visual Basic

N o de Cliente NOMBRE CARGO COMPAA Ttulo Email


5021 Rubn Medrano Jefe de Compras Tagarpulos, S.A. Licenciado ruben@tagaropulos.com
1765 Migdalia Fuentes Gerente de Finanzas Universidad Santa Mara La Antigua Licenciada migdalia@usma.com
817 Silvestre Reid Jefe de Logstica Cemento Panam, S.A. Seor jose@hotel.com
447 Rafael Martn Gerente de Finanzas Complejo Hospitalario Metropolitano Doctor rafael@chmcss.com
159 Carmen de Morales jefa de Logstica Hospital Santo Toms Licenciada carmen@hst.com
2236 Marianela Miranda Gerente de Finanzas Kodak Panam Licenciada marianela@kodak.com
8464 Mirna de Abood YunsnJefa de Compras Johnson & Johnson Doctora mirna@johnson.com
6940 Zaira de Rodrguez Gerente de Finanzas Universidad Tecnolgica Ingeniera zaira@tecnologica.com
6433 Jaime Prez Jaramillo Gerente Administrativo Delta Ingeniera, S.A. Ingeniero jaime@delta.com
4654 Eduardo Prez Jaramillo
Gerente Administrativo Productos Howard, S.A. Licenciado eduardo@productoshoward.com
2807 Mariano Mena Gerente General Tecnilab, S.A. Seor mariano@tecnilab.com
5823 Alvino De Len Jefe de Servicio Galup de Panam, S.A. Licenciado alvino@galup.com
4938 Alberto Navarro Gerente de Finanzas Jardines, S.A. Seor alberto@jardines.com

BUSQUEDA SENSITIVA E INTELIGENTE

N CLIENTE 1765 TITULO Licenciada

NOMBRES Migdalia Fuentes COMPAA Universidad Santa Mara La Antigua

CARGO Carmen de MoralesEMAIL migdalia@usma.com

BUSCAR POR NOMBRE

Buscar: MIG

Migdalia Fuentes
PROGRAMA COMPLETO EN
EXCEL AVANZADO

Private Sub txtbusquedaN_Change()

'oculta refrescos de pantalla

Application.ScreenUpdating = False

If txtbusquedaN.Text = "" Then


ActiveSheet.PivotTables("Tabla dinmica1").PivotFields("NOMBRE").ClearAllFilters

ActiveSheet.PivotTables("Tabla dinmica1").PivotFields("NOMBRE").PivotFilters.Add
Type:=xlCaptionEquals, Value1:=""

Else 'La caja de texto contiene algo

ActiveSheet.PivotTables("Tabla dinmica1").PivotFields("NOMBRE").ClearAllFilters

ActiveSheet.PivotTables("Tabla dinmica1").PivotFields("NOMBRE").PivotFilters.Add
Type:=xlCaptionContains, Value1:=txtbusquedaN.Text

End If

End Sub

ESQUEMA IFEND IF
IF CONDICION THEN
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Acciones en caso se
Cancel As Boolean)
cumpla la condicin.
'oculta refrescos de pantalla
ELSE
Application.ScreenUpdating = False
Acciones en caso no
'evitar que el doble clic genere sonido se cumpla la condicin.
Cancel = True END IF
'recordar rango de TD es aprox.. C53:C150

If Not Intersect(Target, Range("C52:C150")) Is Nothing Then


txtbusquedaN.Text = ActiveCell.Text

Range("C39").Value = WorksheetFunction.Index(Range("B5:E34"),
WorksheetFunction.Match(txtbusquedaN.Text, Range("c5:c34"), 0), 1)

ActiveSheet.PivotTables("Tabla dinmica1").PivotFields("NOMBRE").ClearAllFilters

ActiveSheet.PivotTables("Tabla dinmica1").PivotFields("NOMBRE").PivotFilters.Add
Type:=xlCaptionEquals, Value1:=""

txtbusquedaN.Activate

End If

End Sub
PROGRAMA COMPLETO EN
EXCEL AVANZADO

Private Sub Worksheet_Change(ByVal Target As Range)

'oculta refrescos de pantalla

Application.ScreenUpdating = False

'evitar errores

On Error Resume Next

If Not Intersect(Target, Range("C39")) Is Nothing Then


txtbusquedaN.Text = WorksheetFunction.VLookup(Range("c39"), Range("B5:B34"), 2, 0)

ActiveSheet.PivotTables("Tabla dinmica1").PivotFields("NOMBRE").ClearAllFilters

ActiveSheet.PivotTables("Tabla dinmica1").PivotFields("NOMBRE").PivotFilters.Add
Type:=xlCaptionEquals, Value1:=""

Range("c39").Select

End If

End Sub

Considerar lo siguiente:

El cdigo:

ActiveSheet.PivotTables("Tabla dinmica1").PivotFields("NOMBRE").ClearAllFilters

ActiveSheet.PivotTables("Tabla
dinmica1").PivotFields("NOMBRE").PivotFilters.AddType:=xlCaptionEquals, Value1:=""

Se ha obtenido de la grabacin de una macro.

'
Cada lnea que empiece con (comilla simple) y este en color verde, es un comentario, es decir, no
se ejecuta.

La lnea que empieza con Private Sub, no se escribe, es el evento a realizar despus de una
accin establecida. Todo el cdigo debe de estar antes del End Sub.

Range("F01"), representa una celda o un rango de celdas y se puede cambiar lo que est entre
comillas para indicar las celdas a trabajar.

Anda mungkin juga menyukai