ImportXMLで チャット記録 をインポートする場合、たとえば、
=IMPORTXML("http://chat.stackexchange.com/transcript/7/2015/8/13", "//div[@class='content']")
いくつかのメッセージがいくつかの列に分かれていることがわかりました。
+-------------------+---------------+----------------+
| "The tag-wiki ... | google-search | tag instead. |
+-------------------+---------------+----------------+
これは、「google-search」が独自のHTML要素内にあるために発生することを理解しています。
... use the <a href="//webapps.stackexchange.com/questions/tagged/google-search"><span class="ob-post-tag" style="background-color: #E2EDFA; color: #5D7A9C; border-color: #5D7A9C; border-style: solid;">google-search</span></a> tag instead.
しかし、私はそのような複数の列を持ちたくありません。すべてのチャットメッセージを同じセルに入れたい:
Tag-wikiには次の文が含まれています。検索について話している場合は、代わりにgoogle-searchタグを使用してください。
ImportXMLがテキストを列に分割することを防ぐ方法、またはそれらを結合し直す方法はありますか?範囲が2次元であるため、join("", importxml(...))
はエラーをスローします。
= TRANSPOSE( QUERY( TRANSPOSE( IMPORTXML( "http://chat.stackexchange.com/transcript/7/2015 /8/13", "//div[@class='content']" ) )、 、 1000 ) )
IMPORTXMLは、各内部spanタグごとに1列の配列を返します。チャットメッセージに含まれるスマートリンクごとに1つのspanタグがあります。
QUERYがヘッダー行を結合することは「既知」です。この場合、OPは行を結合するため、式には2回のTRANSPOSEが含まれます。1回目はQUERY動作を使用して列を結合し、2回目は配列を元の形状に戻します。