trucos sheets query numeros letras importrange hoja google funcion caracteristicas calculo buscarv google-spreadsheet

query - ¿Cómo devuelvo varias columnas de datos usando ImportXML en Google Spreadsheets?



numeros a letras google sheets (4)

Estoy usando ImportXML en una hoja de cálculo de Google para acceder al método user_timeline en la API de Twitter . Me gustaría extraer los campos created_at y text de la respuesta y crear una visualización de dos columnas de los resultados.

Actualmente estoy haciendo esto llamando al API dos veces, con

=ImportXML("http://twitter.com/status/user_timeline/matthewsim.xml?count=200","/statuses/status/created_at")

en la celda en la parte superior de una columna, y

=ImportXML("http://twitter.com/status/user_timeline/matthewsim.xml?count=200","/statuses/status/text")

en otro.

¿Hay alguna manera de crear esta pantalla con una sola llamada?


ImportXML admite el uso de xpath | separador para incluir tantas consultas como desee.

=ImportXML("http://url"; "//@author | //@catalogid| //@publisherid")

Sin embargo, no expande los resultados en múltiples columnas. Obtendrá una sola columna de trillizos repetidos (o los atributos que haya seleccionado) como se muestra a continuación en la columna A

Lo siguiente está en desuso

2015.06.16: continue no está disponible en "las nuevas Hojas de cálculo de Google" (ver: Documentación de Google para continue ).

Sin embargo, no necesita usar la función CONTINUE() insertada automáticamente para colocar sus resultados.

=CONTINUE($A$2, (ROW()-ROW($A$2)+1)*$A$1-B$1, 1)

Colocado en B2 que debe rellenarse limpiamente hacia abajo y hacia la derecha para proporcionarle datos de columna correctos.

  • ImportXML está en A2 .
  • A3 y cómo se completan automáticamente las funciones CONTINUE() .
  • A1 es la cantidad de atributos.
  • B1:D1 son el índice de atributo para sus columnas.

Otra forma de convertir las filas de = CONTINUAR () en columnas es usar transpose ():

=transpose(importxml("http://url","//a | //b | //c"))


Planteé esta pregunta al Foro de asistencia de Google y esta fue una solución que funcionó para mí:

=ArrayFormula(QUERY(QUERY(IFERROR(IF({1,1,0},IF({1,0,0},INT((ROW(A:A)-1)/2),MOD(ROW(A:A)-1,2)),IMPORTXML("http://example.com","//td/a | //td/a/@href"))),"select min(Col3) where Col3 <> '''' group by Col1 pivot Col2",0),"offset 1",0))

Reemplace los contenidos de IMPORTXML con sus datos y consultas y vea si eso funciona para usted. yo

Aparentemente, esto intenta invocar la función IMPORTXML solo una vez. Es una solución por ahora, al menos.

Aquí está el hilo completo .


Solo concatena tus consultas con "|"

=ImportXML("http://twitter.com/status/user_timeline/matthewsim.xml?count=200","/statuses/status/created_at | /statuses/status/text")