es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo hacer un join externo completo?

Estoy tratando de hacer la unión completa para los datos debajo en dos hojas diferentes.

Hoja 9:

ID de producto Nombre Cantidad
1 addi 55
2 fadi 66
3 sadi 33

Hoja 10:

ID de producto Variantes Modelo
1 xyz 2000
2 differ 2001
3 saddd 336
4 fsdfe 2005

Hoja de salida deseada:

ID de producto Nombre Cantidad Variantes Modelo
1 addi 55 xyz 2000
2 fadi 66 differ 2001
3 sadi 33 saddd 336
4 fsdfe 2005

Por favor, también indique si tenemos más columnas para unir como en la hoja 1 y la hoja 2 tienen dos columnas más como Año, etiqueta de producto, etc., entonces ¿qué debo cambiar en su solución propuesta?

Estoy usando esta fórmula pero no devuelve el resultado deseado.

=ARRAYFORMULA({QUERY(SORT(UNIQUE({Hoja9!A1:D; Hoja10!A1:D})), "where Col1 is not null"), IFERROR(VLOOKUP(TRANSPOSE(QUERY(TRANSPOSE(QUERY(SORT(UNIQUE({Hoja9!A1:D; Hoja10!A1:D})), "where Col1 is not null")),,999^99)), TRANSPOSE(QUERY(TRANSPOSE(Hoja9!A1:D)) ,999^99)), Hoja9!C1:C}, 2, 0), "", IFERROR(VLOOKUP(TRANSPOSE(QUERY(TRANSPOSE(QUERY(SORT(UNIQUE({Hoja9!A1:D; Hoja10!A1:D})), "where Col1 is not null")),,999^99)), {TRANSPOSE(QUERY(TRANSPOSE(Hoja10!A1:D)) ,999^99)), Hoja10!C1:C}, 2, 0), "")})
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para realizar una unión completa en los datos proporcionados en la Hoja 9 y la Hoja 10, puedes utilizar la siguiente fórmula:

    =ARRAYFORMULA({SORT({Hoja9!A:C;Hoja10!A:C},1,VERDADERO),SI.ERROR(BUSCARV(SORT({Hoja9!A:C;Hoja10!A:C},1,VERDADERO),{Hoja9!A:C,Hoja9!D:D},2,FALSO),""),SI.ERROR(BUSCARV(SORT({Hoja9!A:C;Hoja10!A:C},1,VERDADERO),{Hoja10!A:C,Hoja10!B:C},2,FALSO),"")})
    

    Esta fórmula utiliza la función SORT para combinar los dos conjuntos de datos y ordenarlos por la columna de ID de Producto. Luego utiliza BUSCARV para coincidir el ID de Producto en el conjunto de datos combinado con los valores correspondientes de Nombre y Cantidad en la Hoja 9, y los valores de Variantes y Modelo en la Hoja 10.

    Si tienes columnas adicionales para unir, puedes modificar la fórmula agregando las columnas extra a las funciones SORT y BUSCARV. Por ejemplo, si la Hoja 9 y la Hoja 10 tuvieran las columnas de Año y Etiqueta de Producto:

    =ARRAYFORMULA({SORT({Hoja9!A:E;Hoja10!A:E},1,VERDADERO),SI.ERROR(BUSCARV(SORT({Hoja9!A:E;Hoja10!A:E},1,VERDADERO),{Hoja9!A:E,Hoja9!D:G},2,FALSO),""),SI.ERROR(BUSCARV(SORT({Hoja9!A:E;Hoja10!A:E},1,VERDADERO),{Hoja10!A:E,Hoja10!B:F},2,FALSO),"")})
    

    En esta fórmula modificada, la función SORT ahora incluye las columnas D y E en la Hoja 9 y las columnas B y C en la Hoja 10, mientras que las funciones BUSCARV incluyen las columnas D y E en la Hoja 9 y las columnas B y C en la Hoja 10.

    Ten en cuenta que si hay valores duplicados de ID de Producto en la Hoja 9 o en la Hoja 10, la función BUSCARV solo devolverá el primer valor coincidente que encuentre.

Comments are closed.