
Tengo 3 hojas en un libro de Excel, quiero comparar la columna C de la hoja 1 con la columna C de la hoja 2, si existe el mismo número en cualquier lugar, entonces quiero que el valor de la columna G de la hoja 2 se coloque en la columna G de la hoja 3.
Respuesta1
Digamos que tienes la hoja 1:
a b 1
a b 2
a b 3
a b 4
a b 5
Y hoja2:
a b 6 ... x
a b 2 ... gg
a b 7 ... x
a b 5 ... zz
a b 8 ... x
Y así, en la hoja 3 que quieras (con o sin columnas A..F)
a b 2 ... gg
a b 5 ... zz
La solución más sencilla pero con alguna operación manual:
Agregue una columna en la hoja 2, con la siguiente fórmula (asumiendo encabezados en la fila 1)
=IF(ISERROR(MATCH(C2,Sheet1!$C$2:$C$100000,0)),FALSE,TRUE)
Agregue un filtro a la hoja2 y filtre por VERDADERO. Copiar y pegar en la hoja 3
Usando solo fórmulas (sin copiar y pegar manualmente):
"Si es verdadero, copie" ya que una FÓRMULA no existe de forma nativa en Excel. Requeriría que una celda con una fórmula pueda cambiar el valor de otra celda (no solo su propio valor). Esto va en contra de la forma en que funciona una hoja de cálculo y conduciría a todo tipo de lógica circular desagradable y cálculos lentos. Más bien imagine que está ingresando una fórmula en la celda que desea copiar (Hoja3!G2...). Esta fórmula puede buscar en la columna Hoja2!G yreferenciasu valor (pero no una copia impresa).
Entonces, podrías poner en la Hoja3!G2:
=IF(ISERROR(MATCH(Sheet2!C2,Sheet1!$C$2:$C$100000,0)),"",Sheet2!G2)
Tendrá sus datos de comparación, pero también muchas filas vacías donde no se produjeron coincidencias. Podrías volver a agregar un filtro para eliminar los espacios en blanco.
Para resolver este problema completamente usando solo fórmulas, debes numerar las coincidencias en la hoja 2 de esta manera:
a b 6 ... x 0
a b 2 ... gg 1
a b 7 ... x 1
a b 5 ... zz 2
a b 8 ... x 2
Usando esta fórmula en la columna H de la Hoja2, comenzando en H2:
=IF(ISERROR(MATCH(C2,Sheet1!$C$2:$C$100000,0)),IF(ROW() = 2,0,H1+1), IF(ROW() = 2,1,H1+1))
Luego busque esas coincidencias usando las funciones ÍNDICE, COINCIDIR y FILA en la columna G de la hoja 3, comenzando en G2:
=INDEX(Sheet2!$G$2:$G$100000,MATCH(ROW()-1,Sheet2!$H$2:$H$100000,0))