# Buscar Matricial



## UliCs (Jan 10, 2010)

Hola a Todos.
Como le hago? tengo la necesidad de buscar en una matriz de datos pero como pueden ver en la tabla, el codigo y la descripcion son las mismas pero los datos en la columna D son diferentes, lo intente con Buscarv Matricial, pero no resulto me repite el primer valor que encuentra
Alguna idea?Excel WorkbookBCD2CodigoDescripcionComponente3P001PlumasTapa4P001PlumasBarril5P001PlumasRepuesto6P002LibretaEspiral7P002LibretaHojas8P002LibretaPastas9P003LapizGoma10P003LapizMina11P003LapizMadera1213P002LibretaEspiral14LibretaEspiral15LibretaEspiralSheet

Gracias de antemano Saludos!!
<div_prefs id="div_prefs"></div_prefs><div_prefs id="div_prefs"></div_prefs>


----------



## Greg Truby (Jan 10, 2010)

Usted sí tuvo la idea correcta - usar una fórmula matricial, pero no VLOOKUP sino la pareja INDEX Y MATCH. Aquí pongo un ejemplo:

*Sheet1*

<TABLE style="BACKGROUND-COLOR: #ffffff; PADDING-LEFT: 2pt; PADDING-RIGHT: 2pt; FONT-FAMILY: Arial,Arial; FONT-SIZE: 10pt" border=1 cellSpacing=0 cellPadding=0><COLGROUP><COL style="WIDTH: 30px; FONT-WEIGHT: bold"><COL style="WIDTH: 64px"><COL style="WIDTH: 64px"><COL style="WIDTH: 64px"><COL style="WIDTH: 64px"><COL style="WIDTH: 64px"><COL style="WIDTH: 64px"><COL style="WIDTH: 64px"><COL style="WIDTH: 64px"></COLGROUP><TBODY><TR style="TEXT-ALIGN: center; BACKGROUND-COLOR: #cacaca; FONT-SIZE: 8pt; FONT-WEIGHT: bold"><TD> </TD><TD>A</TD><TD>B</TD><TD>C</TD><TD>D</TD><TD>E</TD><TD>F</TD><TD>G</TD><TD>H</TD></TR><TR style="HEIGHT: 34px"><TD style="TEXT-ALIGN: center; BACKGROUND-COLOR: #cacaca; FONT-SIZE: 8pt">1</TD><TD style="BACKGROUND-COLOR: #ffff99; FONT-FAMILY: Verdana; FONT-WEIGHT: bold">Codigo</TD><TD style="BACKGROUND-COLOR: #ffff99; FONT-FAMILY: Verdana; FONT-WEIGHT: bold">Descripcion</TD><TD style="BACKGROUND-COLOR: #ffff99; FONT-FAMILY: Verdana; FONT-WEIGHT: bold">Componente</TD><TD>Precio</TD><TD> </TD><TD style="BACKGROUND-COLOR: #ffff99; FONT-FAMILY: Verdana; FONT-WEIGHT: bold">Look for</TD><TD> </TD><TD> </TD></TR><TR style="HEIGHT: 17px"><TD style="TEXT-ALIGN: center; BACKGROUND-COLOR: #cacaca; FONT-SIZE: 8pt">2</TD><TD style="FONT-FAMILY: Verdana">P001</TD><TD style="FONT-FAMILY: Verdana">Plumas</TD><TD style="FONT-FAMILY: Verdana">Tapa</TD><TD style="TEXT-ALIGN: right">5</TD><TD> </TD><TD style="FONT-FAMILY: Verdana">P001</TD><TD style="FONT-FAMILY: Verdana">PLUMAS</TD><TD style="FONT-FAMILY: Verdana">BARRIL</TD></TR><TR style="HEIGHT: 17px"><TD style="TEXT-ALIGN: center; BACKGROUND-COLOR: #cacaca; FONT-SIZE: 8pt">3</TD><TD style="FONT-FAMILY: Verdana">P001</TD><TD style="FONT-FAMILY: Verdana">Plumas</TD><TD style="FONT-FAMILY: Verdana">Barril</TD><TD style="TEXT-ALIGN: right">10</TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD></TR><TR style="HEIGHT: 34px"><TD style="TEXT-ALIGN: center; BACKGROUND-COLOR: #cacaca; FONT-SIZE: 8pt">4</TD><TD style="FONT-FAMILY: Verdana">P001</TD><TD style="FONT-FAMILY: Verdana">Plumas</TD><TD style="FONT-FAMILY: Verdana">Repuesto</TD><TD style="TEXT-ALIGN: right">15</TD><TD> </TD><TD> </TD><TD> </TD><TD style="TEXT-ALIGN: right">10</TD></TR><TR style="HEIGHT: 17px"><TD style="TEXT-ALIGN: center; BACKGROUND-COLOR: #cacaca; FONT-SIZE: 8pt">5</TD><TD style="FONT-FAMILY: Verdana">P002</TD><TD style="FONT-FAMILY: Verdana">Libreta</TD><TD style="FONT-FAMILY: Verdana">Espiral</TD><TD style="TEXT-ALIGN: right">7</TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD></TR><TR style="HEIGHT: 17px"><TD style="TEXT-ALIGN: center; BACKGROUND-COLOR: #cacaca; FONT-SIZE: 8pt">6</TD><TD style="FONT-FAMILY: Verdana">P002</TD><TD style="FONT-FAMILY: Verdana">Libreta</TD><TD style="FONT-FAMILY: Verdana">Hojas</TD><TD style="TEXT-ALIGN: right">12</TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD></TR><TR style="HEIGHT: 17px"><TD style="TEXT-ALIGN: center; BACKGROUND-COLOR: #cacaca; FONT-SIZE: 8pt">7</TD><TD style="FONT-FAMILY: Verdana">P002</TD><TD style="FONT-FAMILY: Verdana">Libreta</TD><TD style="FONT-FAMILY: Verdana">Pastas</TD><TD style="TEXT-ALIGN: right">18</TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD></TR><TR style="HEIGHT: 17px"><TD style="TEXT-ALIGN: center; BACKGROUND-COLOR: #cacaca; FONT-SIZE: 8pt">8</TD><TD style="FONT-FAMILY: Verdana">P003</TD><TD style="FONT-FAMILY: Verdana">Lapiz</TD><TD style="FONT-FAMILY: Verdana">Goma</TD><TD style="TEXT-ALIGN: right">3</TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD></TR><TR style="HEIGHT: 17px"><TD style="TEXT-ALIGN: center; BACKGROUND-COLOR: #cacaca; FONT-SIZE: 8pt">9</TD><TD style="FONT-FAMILY: Verdana">P003</TD><TD style="FONT-FAMILY: Verdana">Lapiz</TD><TD style="FONT-FAMILY: Verdana">Mina</TD><TD style="TEXT-ALIGN: right">6</TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD></TR><TR style="HEIGHT: 18px"><TD style="TEXT-ALIGN: center; BACKGROUND-COLOR: #cacaca; FONT-SIZE: 8pt">10</TD><TD style="FONT-FAMILY: Verdana">P003</TD><TD style="FONT-FAMILY: Verdana">Lapiz</TD><TD style="FONT-FAMILY: Verdana">Madera</TD><TD style="TEXT-ALIGN: right">9</TD><TD> </TD><TD> </TD><TD> </TD><TD> </TD></TR></TBODY></TABLE>
<TABLE style="BORDER-BOTTOM-STYLE: groove; BORDER-BOTTOM-COLOR: #00ff00; BORDER-RIGHT-STYLE: groove; BACKGROUND-COLOR: #fffcf9; BORDER-TOP-COLOR: #00ff00; FONT-FAMILY: Arial; BORDER-TOP-STYLE: groove; COLOR: #000000; BORDER-RIGHT-COLOR: #00ff00; FONT-SIZE: 10pt; BORDER-LEFT-STYLE: groove; BORDER-LEFT-COLOR: #00ff00"><TBODY><TR><TD>*Spreadsheet Formulas*</TD></TR><TR><TD><TABLE style="FONT-FAMILY: Arial; FONT-SIZE: 9pt" border=1 cellSpacing=0 cellPadding=2><TBODY><TR style="BACKGROUND-COLOR: #cacaca; FONT-SIZE: 10pt"><TD>Cell</TD><TD>Formula</TD></TR><TR><TD>H4</TD><TD>{=INDEX(D2:D10,MATCH(F2&G2&H2,A2:A10&B2:B10&C2:C10,0))}</TD></TR></TBODY></TABLE></TD></TR><TR><TD>*Formula Array:*
Produce enclosing *{ }* by entering
formula with CTRL+SHIFT+ENTER!</TD></TR></TBODY></TABLE>

*Excel tables to the web >> *http://www.excel-jeanie-html.de/index.php?f=1" target="_blank"> Excel Jeanie HTML 4


----------



## UliCs (Jan 10, 2010)

Que Tal Greg. 
Y como podria devolver todos los datos que coincidan con la primera sentencia. "codigo"
es decir si la primera condicion tiene 3 precios diferentes, los pueda mostrar.

Gracias por la pronta respuesta
Saludos!!


----------



## galileogali (Jan 13, 2010)

a ver si esto apunta en la misma direccion de la consulta?

http://excelgali.mejorforo.net/funciones-y-formulas-f4/buscarv-para-repetidos-t129.htm


----------



## UliCs (Jan 13, 2010)

Que tal Gali.

Estuvo Excelente el ejemplo.
Pero sigo con una duda hay alguna manera de hacer un filtro sin la herramienta Filtro, mas concreto seria con una condicion me devuelva todas las entradas que coinciden con ella. Buscarv solo devuelve el primer valor que encuentra y en el ejemplo que muestras esta condicionado al numero de entradas que se escriban. Ejemplo si solo pongo 2 letras "a" solo me va a dar los dos primeros valores de la letra "a". Se podria hacer un contador automatico?
espero no haberte confundido.<div_prefs id="div_prefs"></div_prefs>


----------



## sailepaty (Jan 14, 2010)

Excel WorkbookABCDEFGH12CodigoDescripcionComponenteCodigoDescripcionComponente3P001PlumasTapa4P002LibretaEspiral4P001PlumasBarril5LibretaHojas5P001PlumasRepuesto6LibretaPastas6P002LibretaEspiral#N/A7P002LibretaHojas#N/A8P002LibretaPastas#N/A9P003LapizGoma#N/A10P003LapizMina#N/A11P003LapizMadera#N/A...Cell FormulasRangeFormulaE3=MATCH($F$3,INDEX($A$3:$A$11,E2+1):$A$11,0)+E2G3=IF(ISNA($E3),"",INDEX(B$3:B$11,$E3))H3=IF(ISNA($E3),"",INDEX(C$3:C$11,$E3))
Las formulas de E3, G3 y H3 copialas hacia abajo hasta donde consideres necesario. 

Saludos


----------



## Greg Truby (Jan 14, 2010)

Cuando veo preguntas así siempre me quedo con una duda... ¿por qué no aplicar filtro (2007) o autofiltro (...2003)?  ¿Hay alguna razón por la cual quiere tener visible la parte superior de la lista cuando su interés está en las filas que corresponden al filtro?

Para mi, tendría más sentido meter una fila encima del inicio de la lista y si alguien mete alguna criteria en tal y tal celda usar VBA para aplicar un filtro.  O hacerlo al revés y poner una función VBA en las celdas encima que indica si un filtro está puesto y qué es tal filtro.


----------



## UliCs (Jan 16, 2010)

Muchas Gracias Sailepaty.
Funciono al 100. mi necesidad era que al lado de toda la entrada de valores tengo otra tabla con informacion y al momento de filtrar ocultaba la tabla.
Muchas gracias a todos por la ayuda.

Saludos.<div_prefs id="div_prefs"></div_prefs>


----------



## galileogali (Jan 17, 2010)

Greg: en parte coincido, pero como desafío, el hacerlo con fórmulas no deja de ser interesante....
sailepaty: tu excelente solucion, me "la llevo a nuestro foro"


----------

