{"id":16559,"date":"2021-08-25T00:38:30","date_gmt":"2021-08-25T05:38:30","guid":{"rendered":"https:\/\/www.perucontable.com\/excelcontable\/?p=16559"},"modified":"2023-11-14T19:42:49","modified_gmt":"2023-11-15T00:42:49","slug":"buscarv-con-valores-repetidos-en-excel","status":"publish","type":"post","link":"https:\/\/www.perucontable.com\/excelcontable\/buscarv-con-valores-repetidos-en-excel\/","title":{"rendered":"BUSCARV CON VALORES REPETIDOS EN EXCEL"},"content":{"rendered":"<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"554\" height=\"350\" src=\"https:\/\/www.perucontable.com\/excelcontable\/wp-content\/uploads\/2021\/08\/image-142.png\" alt=\"\" class=\"wp-image-16560\" srcset=\"https:\/\/www.perucontable.com\/excelcontable\/wp-content\/uploads\/2021\/08\/image-142.png 554w, https:\/\/www.perucontable.com\/excelcontable\/wp-content\/uploads\/2021\/08\/image-142-300x190.png 300w\" sizes=\"(max-width: 554px) 100vw, 554px\" \/><\/figure><\/div>\n\n\n<p>La funci\u00f3n BUSCARV nos permite encontrar un valor dentro de un rango de celdas y aunque el valor buscado se repita varias veces, la funci\u00f3n BUSCARV siempre nos devolver\u00e1 solo la primera ocurrencia encontrada. A veces queremos utilizar la&nbsp;<strong>funci\u00f3n BUSCARV con valores repetidos en Excel<\/strong>&nbsp;para encontrar la en\u00e9sima ocurrencia de alg\u00fan valor, pero eso no suceder\u00e1 autom\u00e1ticamente.<\/p>\n\n\n\n<p>La verdad es que no podemos hacer este tipo de b\u00fasquedas utilizando solamente la&nbsp;funci\u00f3n BUSCARV, es necesario encontrar alternativas que nos permitan indicar dentro de la f\u00f3rmula el n\u00famero de ocurrencia que necesitamos. En esta ocasi\u00f3n utilizaremos como ejemplo una lista de nombres de personas con sus respectivas edades tal como lo puedes ver en la siguiente imagen.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"513\" height=\"264\" src=\"https:\/\/www.perucontable.com\/excelcontable\/wp-content\/uploads\/2021\/08\/image-144.png\" alt=\"\" class=\"wp-image-16562\" srcset=\"https:\/\/www.perucontable.com\/excelcontable\/wp-content\/uploads\/2021\/08\/image-144.png 513w, https:\/\/www.perucontable.com\/excelcontable\/wp-content\/uploads\/2021\/08\/image-144-300x154.png 300w\" sizes=\"(max-width: 513px) 100vw, 513px\" \/><\/figure><\/div>\n\n\n<p>En nuestros datos existen nombres repetidos, as\u00ed que la f\u00f3rmula que construyamos tendr\u00e1 que considerar el n\u00famero de ocurrencia indicado en la celda E3. A continuaci\u00f3n revisaremos cada una de las opciones que tenemos para resolver este problema.<\/p>\n\n\n\n<h2><strong>OPCI\u00d3N 1: COLUMNA AUXILIAR NUMERADA<\/strong><\/h2>\n\n\n\n<p>La primera alternativa que tenemos es utilizar una columna auxiliar donde podamos incluir a cada valor del rango su n\u00famero de ocurrencia, por ejemplo, la primera aparici\u00f3n del nombre&nbsp;<em>Blanca<\/em>&nbsp;deber\u00e1 transformarse en&nbsp;<em>Blanca1<\/em>&nbsp;y la segunda aparici\u00f3n en&nbsp;<em>Blanca2<\/em>&nbsp;y as\u00ed sucesivamente. Para poder contar las apariciones de cada valor haremos uso de la&nbsp;funci\u00f3n CONTAR.SI&nbsp;de la siguiente manera:<\/p>\n\n\n\n<p><strong>=A2 &amp; CONTAR.SI(A$2:A2, A2)<\/strong><\/p>\n\n\n\n<p>El objetivo de la funci\u00f3n CONTAR.SI ser\u00e1 contar las apariciones de la celda A2 en el rango indicado en su primer argumento, que en este caso ser\u00e1 solamente la celda A2 (A$2:A2), por lo que obtendremos como resultado la cuenta de uno.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"589\" height=\"260\" src=\"https:\/\/www.perucontable.com\/excelcontable\/wp-content\/uploads\/2021\/08\/image-145.png\" alt=\"\" class=\"wp-image-16563\" srcset=\"https:\/\/www.perucontable.com\/excelcontable\/wp-content\/uploads\/2021\/08\/image-145.png 589w, https:\/\/www.perucontable.com\/excelcontable\/wp-content\/uploads\/2021\/08\/image-145-300x132.png 300w\" sizes=\"(max-width: 589px) 100vw, 589px\" \/><\/figure><\/div>\n\n\n<p>Observa que para el primer argumento de la funci\u00f3n CONTAR.SI he utilizado el inicio del rango como una referencia mixta (A$2) lo cual fijar\u00e1 el n\u00famero de fila donde se inicia el rango a considerar en la cuenta de manera que al copiar esta f\u00f3rmula hacia abajo la \u00fanica parte que ser\u00e1 modificada ser\u00e1 el final del rango. En la siguiente imagen puedes observar el resultado de copiar la f\u00f3rmula hacia abajo.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"589\" height=\"267\" src=\"https:\/\/www.perucontable.com\/excelcontable\/wp-content\/uploads\/2021\/08\/image-146.png\" alt=\"\" class=\"wp-image-16564\" srcset=\"https:\/\/www.perucontable.com\/excelcontable\/wp-content\/uploads\/2021\/08\/image-146.png 589w, https:\/\/www.perucontable.com\/excelcontable\/wp-content\/uploads\/2021\/08\/image-146-300x136.png 300w\" sizes=\"(max-width: 589px) 100vw, 589px\" \/><\/figure><\/div>\n\n\n<p>De esta manera la funci\u00f3n CONTAR.SI nos ha ayudado a identificar el n\u00famero de ocurrencia de cada uno de los elementos de nuestro rango y esta nueva columna auxiliar nos servir\u00e1 para realizar la b\u00fasqueda de la ocurrencia exacta utilizando la funci\u00f3n BUSCARV de la siguiente manera:<\/p>\n\n\n\n<p><strong>=BUSCARV(F1&amp;F2,B2:C10,2,FALSO)<\/strong><\/p>\n\n\n\n<p>En este caso el valor buscado ser\u00e1 la concatenaci\u00f3n de las celdas F1 y F2 ya que el rango de b\u00fasqueda ser\u00e1 la columna auxiliar reci\u00e9n creada. Observa c\u00f3mo esta f\u00f3rmula nos devuelve el valor correcto de la calificaci\u00f3n para la tercera ocurrencia de&nbsp;<em>Carlos<\/em>:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"587\" height=\"270\" src=\"https:\/\/www.perucontable.com\/excelcontable\/wp-content\/uploads\/2021\/08\/image-147.png\" alt=\"\" class=\"wp-image-16565\" srcset=\"https:\/\/www.perucontable.com\/excelcontable\/wp-content\/uploads\/2021\/08\/image-147.png 587w, https:\/\/www.perucontable.com\/excelcontable\/wp-content\/uploads\/2021\/08\/image-147-300x138.png 300w\" sizes=\"(max-width: 587px) 100vw, 587px\" \/><\/figure><\/div>\n\n\n<p>De esta manera hemos podido utilizar la&nbsp;<strong>funci\u00f3n BUSCARV con valores repetidos<\/strong>&nbsp;y obtener el resultado esperado con solo haber insertado los n\u00fameros de ocurrencia en una columna auxiliar.<\/p>\n\n\n\n<h2><strong>OPCI\u00d3N 2: UTILIZAR UNA F\u00d3RMULA MATRICIAL<\/strong><\/h2>\n\n\n\n<p>La segunda opci\u00f3n que podemos utilizar es una f\u00f3rmula matricial que nos permita identificar aquellos valores dentro del rango que contengan el valor buscado y obtener el n\u00famero de fila que ocupan dentro de la hoja. Ya que esta es una f\u00f3rmula de mayor complejidad que la anterior, la desarrollaremos paso a paso para dejar en claro su funcionamiento.<\/p>\n\n\n\n<p>La primera parte de la f\u00f3rmula implica el uso de la&nbsp;funci\u00f3n SI&nbsp;para comparar los elementos del rango con el valor buscado. En caso de que la comparaci\u00f3n sea verdadera utilizar\u00e9 la&nbsp;funci\u00f3n FILA&nbsp;para obtener su posici\u00f3n dentro de la hoja.<\/p>\n\n\n\n<p><code><strong>=SI(A2:A10=E1, FILA(A2:A10))<\/strong><\/code><\/p>\n\n\n\n<p>Como ejemplo colocar\u00e9 esta f\u00f3rmula matricial en el rango G2:G10 para que puedas observar el resultado devuelto. Recuerda que al ingresar esta f\u00f3rmula ser\u00e1 necesario pulsar la combinaci\u00f3n de teclas Ctrl + May\u00fas + Entrar:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"664\" height=\"269\" src=\"https:\/\/www.perucontable.com\/excelcontable\/wp-content\/uploads\/2021\/08\/image-148.png\" alt=\"\" class=\"wp-image-16566\" srcset=\"https:\/\/www.perucontable.com\/excelcontable\/wp-content\/uploads\/2021\/08\/image-148.png 664w, https:\/\/www.perucontable.com\/excelcontable\/wp-content\/uploads\/2021\/08\/image-148-300x122.png 300w\" sizes=\"(max-width: 664px) 100vw, 664px\" \/><\/figure><\/div>\n\n\n<p>Solo para aqu\u00e9llas celdas en el rango A2:A10 que tengan el nombre de&nbsp;<em>Carlos<\/em>, se mostrar\u00e1 su n\u00famero fila en la hoja. El siguiente paso es encontrar dentro de los resultados anteriores la ocurrencia exacta que estamos buscando y para eso utilizaremos la&nbsp;funci\u00f3n K.ESIMO.MENOR&nbsp;de la siguiente manera:<\/p>\n\n\n\n<p><code><strong>=K.ESIMO.MENOR(SI(A2:A10=E1, FILA(A2:A10)), E2)<\/strong><\/code><\/p>\n\n\n\n<p>El primer argumento de esta funci\u00f3n es la primera f\u00f3rmula anterior y su segundo argumento es la celda que indica la ocurrencia que necesitamos, que en nuestro ejemplo es la celda E2. Al ingresar esta f\u00f3rmula en la celda G2 y pulsar Ctrl + May\u00fas + Entrar obtendremos el siguiente resultado:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"665\" height=\"268\" src=\"https:\/\/www.perucontable.com\/excelcontable\/wp-content\/uploads\/2021\/08\/image-149.png\" alt=\"\" class=\"wp-image-16567\" srcset=\"https:\/\/www.perucontable.com\/excelcontable\/wp-content\/uploads\/2021\/08\/image-149.png 665w, https:\/\/www.perucontable.com\/excelcontable\/wp-content\/uploads\/2021\/08\/image-149-300x121.png 300w\" sizes=\"(max-width: 665px) 100vw, 665px\" \/><\/figure><\/div>\n\n\n<p>Esto nos indica que es la fila 8 de nuestra hoja la que contiene la tercera ocurrencia del nombre&nbsp;<em>Carlos<\/em>&nbsp;dentro del rango de b\u00fasqueda. Para resolver el problema solamente debemos obtener la fila 8 de la columna de Edades, as\u00ed que puedo utilizar la&nbsp;funci\u00f3n INDIRECTO&nbsp;para obtener el valor de dicha celda en base al resultado de la f\u00f3rmula anterior.<\/p>\n\n\n\n<p><code><strong>=INDIRECTO(\"B\" &amp; K.ESIMO.MENOR(SI(A2:A10=E1, FILA(A2:A10)), E2))<\/strong><\/code><\/p>\n\n\n\n<p>Lo \u00fanico que he hecho en esta f\u00f3rmula es concatenar la letra \u201cB\u201d al inicio del resultado de la f\u00f3rmula anterior de manera que obtengamos el valor que se encuentra en la fila 8 de la columna B de nuestra hoja. Recuerda pulsar la combinaci\u00f3n de teclas Ctrl + May\u00fas + Entrar al ingresar esta \u00faltima f\u00f3rmula:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"665\" height=\"268\" src=\"https:\/\/www.perucontable.com\/excelcontable\/wp-content\/uploads\/2021\/08\/image-150.png\" alt=\"\" class=\"wp-image-16568\" srcset=\"https:\/\/www.perucontable.com\/excelcontable\/wp-content\/uploads\/2021\/08\/image-150.png 665w, https:\/\/www.perucontable.com\/excelcontable\/wp-content\/uploads\/2021\/08\/image-150-300x121.png 300w\" sizes=\"(max-width: 665px) 100vw, 665px\" \/><\/figure><\/div>\n\n\n<p>Aunque esta f\u00f3rmula es m\u00e1s compleja que la primera opci\u00f3n mostrada, nos evita el agregar una columna auxiliar a nuestra hoja.<\/p>\n\n\n\n<h2><strong>OPCI\u00d3N 3: CREAR UNA FUNCI\u00d3N UDF<\/strong><\/h2>\n\n\n\n<p>Si necesitas realizar continuamente b\u00fasquedas de este tipo en Excel, entonces te conviene crear tu propia funci\u00f3n UDF que nos permite indicar la ocurrencia que estamos buscando y obtener el resultado correcto. Considera el siguiente c\u00f3digo VBA para la creaci\u00f3n de una nueva funci\u00f3n que nos permitir\u00e1&nbsp;<strong>buscar entre valores repetidos en Excel<\/strong>:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"867\" height=\"403\" src=\"https:\/\/www.perucontable.com\/excelcontable\/wp-content\/uploads\/2021\/08\/image-151.png\" alt=\"\" class=\"wp-image-16569\" srcset=\"https:\/\/www.perucontable.com\/excelcontable\/wp-content\/uploads\/2021\/08\/image-151.png 867w, https:\/\/www.perucontable.com\/excelcontable\/wp-content\/uploads\/2021\/08\/image-151-300x139.png 300w, https:\/\/www.perucontable.com\/excelcontable\/wp-content\/uploads\/2021\/08\/image-151-768x357.png 768w, https:\/\/www.perucontable.com\/excelcontable\/wp-content\/uploads\/2021\/08\/image-151-696x324.png 696w\" sizes=\"(max-width: 867px) 100vw, 867px\" \/><\/figure><\/div>\n\n\n<p>Nuestra funci\u00f3n tiene cuatro argumentos que nos ayudar\u00e1n a hacer la b\u00fasqueda:<\/p>\n\n\n\n<ul>\n<li><strong>Valor_buscado<\/strong>: Es el valor que estamos buscando<\/li>\n\n\n\n<li><strong>Matriz_buscar<\/strong>: El rango de celdas con los datos. La b\u00fasqueda, al igual que con la funci\u00f3n BUSCARV, se har\u00e1 en la primera columna del rango indicado.<\/li>\n\n\n\n<li><strong>Ocurrencia<\/strong>: El n\u00famero de ocurrencia del&nbsp;<em>valor_buscado<\/em>&nbsp;que necesitamos.<\/li>\n\n\n\n<li><strong>Indicador_columna<\/strong>: El n\u00famero de columna a ser devuelto por la funci\u00f3n.<\/li>\n<\/ul>\n\n\n\n<p>La funci\u00f3n hace un recorrido por todo el rango de b\u00fasqueda con un bucle For-Next. En cada iteraci\u00f3n se compara el elemento de la primera columna del rango con el valor buscado y si coinciden, se incrementa en uno el contador de ocurrencias. Si dicho contador es igual al n\u00famero de ocurrencia que necesitamos, entonces se devuelve el valor de la columna correspondiente. Observa el resultado de utilizar esta funci\u00f3n con nuestros datos de ejemplo:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"506\" height=\"271\" src=\"https:\/\/www.perucontable.com\/excelcontable\/wp-content\/uploads\/2021\/08\/image-152.png\" alt=\"\" class=\"wp-image-16570\" srcset=\"https:\/\/www.perucontable.com\/excelcontable\/wp-content\/uploads\/2021\/08\/image-152.png 506w, https:\/\/www.perucontable.com\/excelcontable\/wp-content\/uploads\/2021\/08\/image-152-300x161.png 300w\" sizes=\"(max-width: 506px) 100vw, 506px\" \/><\/figure><\/div>\n\n\n<p>La funci\u00f3n busca el valor indicado en la celda E1 dentro del rango A2:B10 y recorre los valores de la primera columna en b\u00fasqueda de la ocurrencia indicada en la celda E2. Una vez encontrado dicho valor nos devolver\u00e1 la misma fila pero de la columna 2 tal como lo indica el \u00faltimo argumento de la funci\u00f3n.<\/p>\n\n\n\n<p>Es as\u00ed como hemos evaluado tres alternativas al uso de la&nbsp;<strong>funci\u00f3n BUSCARV con valores repetidos en Excel<\/strong>. Ya que la funci\u00f3n BUSCARV no puede realizar este tipo de b\u00fasquedas por s\u00ed sola, ser\u00e1 necesario elegir alguno de los m\u00e9todos mostrados en este art\u00edculo para poder encontrar la ocurrencia exacta del valor que est\u00e9s buscando.<\/p>\n\n\n\n<p><strong>Art\u00edculo que te recomendamos leer:<\/strong><br><strong><a href=\"https:\/\/www.perucontable.com\/excelcontable\/funcion-contar-si-cuando-existen-mayusculas\/\" data-type=\"URL\" data-id=\"https:\/\/www.perucontable.com\/excelcontable\/funcion-contar-si-cuando-existen-mayusculas\/\">FUNCI\u00d3N CONTAR.SI CUANDO EXISTEN MAY\u00daSCULAS<\/a><\/strong><\/p>\n\n\n\n<p><strong>\u00bfQu\u00e9 te pareci\u00f3 nuestra blog? Com\u00e9ntanos.<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>La funci\u00f3n BUSCARV nos permite encontrar un valor dentro de un rango de celdas y aunque el valor buscado se repita varias veces, la funci\u00f3n BUSCARV siempre nos devolver\u00e1 solo la primera ocurrencia encontrada. A veces queremos utilizar la&nbsp;funci\u00f3n BUSCARV con valores repetidos en Excel&nbsp;para encontrar la en\u00e9sima ocurrencia de alg\u00fan valor, pero eso no [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":16573,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[108,67,25],"tags":[],"yst_prominent_words":[122,320],"_links":{"self":[{"href":"https:\/\/www.perucontable.com\/excelcontable\/wp-json\/wp\/v2\/posts\/16559"}],"collection":[{"href":"https:\/\/www.perucontable.com\/excelcontable\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.perucontable.com\/excelcontable\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.perucontable.com\/excelcontable\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.perucontable.com\/excelcontable\/wp-json\/wp\/v2\/comments?post=16559"}],"version-history":[{"count":4,"href":"https:\/\/www.perucontable.com\/excelcontable\/wp-json\/wp\/v2\/posts\/16559\/revisions"}],"predecessor-version":[{"id":17449,"href":"https:\/\/www.perucontable.com\/excelcontable\/wp-json\/wp\/v2\/posts\/16559\/revisions\/17449"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.perucontable.com\/excelcontable\/wp-json\/wp\/v2\/media\/16573"}],"wp:attachment":[{"href":"https:\/\/www.perucontable.com\/excelcontable\/wp-json\/wp\/v2\/media?parent=16559"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.perucontable.com\/excelcontable\/wp-json\/wp\/v2\/categories?post=16559"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.perucontable.com\/excelcontable\/wp-json\/wp\/v2\/tags?post=16559"},{"taxonomy":"yst_prominent_words","embeddable":true,"href":"https:\/\/www.perucontable.com\/excelcontable\/wp-json\/wp\/v2\/yst_prominent_words?post=16559"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}