sheets sheet query importrange google gdoc example google-spreadsheet

google spreadsheet - sheet - ¿Apilando múltiples columnas en una?



query sheets example (6)

Estoy usando Google SpreadSheet, y estoy tratando de tener varias hojas que contengan una lista de palabras. En la hoja final, me gustaría crear una lista sumativa, que es una combinación de todos los valores en la columna. Lo hice funcionar trabajando con = CONCATENATE (), pero lo convirtió en una cadena. ¿Alguna forma de mantenerlo como una lista de columnas?

Aquí hay un ejemplo de columnas:

Sheet1

  • manzana
  • naranja
  • plátano

Sheet2

  • piña
  • fresa
  • melocotón

FinalSheet

  • manzana
  • naranja
  • plátano
  • piña
  • fresa
  • melocotón

Respuesta actualizada

Tenía razón, hay una solución mucho mejor. Se publicó a continuación, pero lo estoy copiando aquí, así que está en la parte superior de la respuesta:

=unique({A:A;B:B})

Advertencia: Esto incluirá una celda en blanco en ciertos escenarios (como si hay uno al final de la primera lista).

Si no está interesado en ordenar y en una celda en blanco de seguimiento, una sort() simple sort() limpiará las cosas:

=sort(unique({A:A;B:B}))

De lo contrario, un filter() puede eliminar los espacios en blanco de la siguiente manera:

=filter(unique({A:A;B:B}),NOT(ISBLANK(unique({A:A;B:B}))))

La siguiente es la vieja respuesta obsoleta

Estoy seguro de que esta es "La forma incorrecta de hacerlo", ya que parece una tarea tan absurdamente simple y común que creo que me debe estar perdiendo algo, ya que no debería requerir una solución tan sobreexcitada.

Pero esto funciona:

=UNIQUE(TRANSPOSE(SPLIT(JOIN(";",A:A,B:B),";")))

Si sus datos contienen alguno '';'' caracteres que naturalmente necesitará cambiar el delimitador.


Intenta usar tu argumento CONCATENATE con

=ArrayFormula(EXPAND(...))


La forma básica es simplemente hacerlo como matrices como

=transpose(split(arrayformula(concatenate(if(len(A:Z)>0,A:Z&";",""))),";"))

El problema con este método, como descubrí es que consume mucho tiempo si tiene muchas columnas. He hecho algunas búsquedas y he encontrado este artículo:

Unir columnas múltiples en una columna ordenada en Google Spreadsheets

La fórmula central es

=sort(unique(transpose(split(arrayformula(concatenate(if(len(A:Z)>0,A:Z&";",""))),";"))))

Obviamente, reemplazarías el A: Z al rango que quieras usar. Y si quiere hacer una clasificación o eliminar duplicados, simplemente ajuste la fórmula anterior en un método SORT() y / o UNIQUE() , como ese ...

={sheetone!A2:A;sheettwo!A2:A}

Espero que esto ayude. Feliz codificación a todos :)


La función unique() elimina los espacios en blanco, pero no fue útil para mí porque algunas de mis filas se repiten. En cambio, primero filtro las columnas por len() para eliminar celdas en blanco. Luego combino las columnas juntas de la misma manera.

={filter(A:A, len(A:A)); filter(B:B, len(B:B))}


Mucho más simple:

={A1:A10;B1:B10...etc}


Puedes usar esto:

=unique({A1:A;B1:B})

Funciona perfecto aquí!