<span class="mt-enclosure mt-enclosure-image" /><img alt="Googleスプレッドシートの外部データ取り込み関数" src="http://web-marketing.zako.org/images/Google-spreadsheets1.jpg" width="514" height="204" style="" /></span>
<p>ぶっちゃけ営業上がりのWEB担当者である私にとって、プログラム言語などよりエクセル関数のほうが全然親しみやすいというものｗ　だから関数のようなものでおもしろいことが実現できるとかなり楽しいのです。</p>
<p>というわけで、今回はGoogleスプレッドシート（エクセルGoogleオンライン版）で外部データを引っ張ってくるimport関数のサンプルをご紹介。</p>

<!--more-->
<h3 class="header-label">Googleスプレッドシートのimport関数</h3>
<p>関数といっても、Googleスプレッドシートで下記画像のようにヘルプ表示されるので、苦手でも気にする必要はありません。</p>
<p class="picture"><a href="http://lh6.ggpht.com/sigeos15/SKRBkje3lYI/AAAAAAAACXQ/xEhBEMj8Jbw/s800/importHtml.jpg"><img src="http://lh6.ggpht.com/sigeos15/SKRBkje3lYI/AAAAAAAACXQ/xEhBEMj8Jbw/s800/importHtml.jpg" /></a>
セルに一部を打ち込むだけでサジェスト機能が働きます。ちなみに関数を使うときは上にある「数式」タブをクリックしてください。</p>
<h4 class="header-label">ImportXML</h4>
<p>たとえば下記のような関数をセルに入れてみます。</p>
<code>=ImportXML(&quot;www.google.com&quot;,&quot;//a/@href&quot;)</code>
<p>すると、下のようにGoogle.comのページに張られているリンクの一覧が排出されます。</p>
<script src="http://spreadsheets.google.com/gpub?url=http%3A%2F%2Fhuhgpg5i-a.gmodules.com%2Fig%2Fifr%3Fup__table_query_url%3Dhttp%253A%252F%252Fspreadsheets.google.com%252Ftq%253Fkey%253DpQvlWYJOXnNwSCRwGjC0-aA%2526range%253DA1%25253AA34%2526gid%253D3%2526headers%253D0%2526pub%253D1%26up_title%3DGoogle%25E3%2583%2588%25E3%2583%2583%25E3%2583%2597%25E3%2583%259A%25E3%2583%25BC%25E3%2582%25B8%25E3%2581%25AB%25E5%25BC%25B5%25E3%2582%2589%25E3%2582%258C%25E3%2581%25A6%25E3%2581%2584%25E3%2582%258B%25E3%2583%25AA%25E3%2583%25B3%25E3%2582%25AF%26up_last_query_hash%3D%26up_groupbycolumn%3D%26up__table_query_refresh_interval%3D0%26up_showfilters%3D0%26up_aggregateby%3D%26up_enablegrouping%3D0%26url%3Dhttp%253A%252F%252Fwww.google.com%252Fig%252Fmodules%252Ftable.xml&height=324&width=450"></script>
<p>ちなみに↑の "//a/@href" を "//img/@src" に変更すれば、ページ内にある画像へのパスが表示されるというわけです。</p>

<h4 class="header-label">ImportData</h4>
<p>こちらはCSVやTSVファイルを読み込んでくれるもの。</p>
<code>=ImportData(&quot;ファイルのアドレス&quot;)</code>
<p>↓のように読み込むのですが、<strong>ファイルの文字コードが「utf-8」</strong>になっていないと文字化けするのと、<strong>100行を超えるとエラー</strong>になるので注意。もっと行数を増やして欲しい。。。</p>
<script src="http://spreadsheets.google.com/gpub?url=http%3A%2F%2Fhuhgpg5i-a.gmodules.com%2Fig%2Fifr%3Fup__table_query_url%3Dhttp%253A%252F%252Fspreadsheets.google.com%252Ftq%253Frange%253DA1%25253AE10%2526headers%253D-1%2526key%253DpQvlWYJOXnNwSCRwGjC0-aA%2526gid%253D4%2526pub%253D1%26up_title%3DCSV%25E3%2583%2595%25E3%2582%25A1%25E3%2582%25A4%25E3%2583%25AB%26up_last_query_hash%3D%26up_groupbycolumn%3D%26up__table_query_refresh_interval%3D0%26up_showfilters%3D1%26up_aggregateby%3D%26up_enablegrouping%3D1%26url%3Dhttp%253A%252F%252Fwww.google.com%252Fig%252Fmodules%252Ftable.xml&height=324&width=450"></script>
<p>ヒートマップを作るときには国名コードが必須なのでちょっと便利。</p>

<h4 class="header-label">ImportHtml</h4>
<p>これはすごい。と共にちょっと物議をかもし出しそうな。。。これは指定したサイトの特定の部分を拾ってくるもの。</p>
<code>=ImportHtml("http://ja.wikipedia.org/wiki/%E3%82%BD%E3%83%BC%E3%82%B7%E3%83%A3%E3%83%AB%E3%83%BB%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AD%E3%83%B3%E3%82%B0%E3%83%BB%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%AE%E4%B8%80%E8%A6%A7", "table",2)</code>
<p>↑このサンプルは、Wikipediaの「ソーシャル・ネットワーキング・サービスの一覧」ページにある2番目の&lt;table&gt;の中身を拾っているもの。ちなみに結果は↓のようになります。</p>
<script src="http://spreadsheets.google.com/gpub?url=http%3A%2F%2Fhuhgpg5i-a.gmodules.com%2Fig%2Fifr%3Fup__table_query_url%3Dhttp%253A%252F%252Fspreadsheets.google.com%252Ftq%253Fkey%253DpQvlWYJOXnNwSCRwGjC0-aA%2526range%253DA1%25253AD35%2526gid%253D5%2526headers%253D-1%2526pub%253D1%26up_title%3D%25E3%2582%25B8%25E3%2583%25A3%25E3%2583%25B3%25E3%2583%25AB%25E3%2582%2592%25E9%2599%2590%25E5%25AE%259A%25E3%2581%2597%25E3%2581%25AA%25E3%2581%2584SNS%26up_last_query_hash%3D%26up_groupbycolumn%3D%26up__table_query_refresh_interval%3D0%26up_showfilters%3D1%26up_aggregateby%3D%26up_enablegrouping%3D1%26url%3Dhttp%253A%252F%252Fwww.google.com%252Fig%252Fmodules%252Ftable.xml&height=324&width=450"></script>
<p>出典：<a href="http://ja.wikipedia.org/wiki/%E3%82%BD%E3%83%BC%E3%82%B7%E3%83%A3%E3%83%AB%E3%83%BB%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AD%E3%83%B3%E3%82%B0%E3%83%BB%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%AE%E4%B8%80%E8%A6%A7" onclick="window.open('http://ja.wikipedia.org/wiki/%E3%82%BD%E3%83%BC%E3%82%B7%E3%83%A3%E3%83%AB%E3%83%BB%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AD%E3%83%B3%E3%82%B0%E3%83%BB%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%AE%E4%B8%80%E8%A6%A7'); return false;">Wikipedia</a></p>
<p>これはやばい、Firefoxのテーブルをコピーできるようなアドオンを使っていたのがバカらしく感じてきますねｗ　しかも、もしかしてこれはリアルタイム更新される<a href="http://web-marketing.zako.org/research.html">市場調査データ</a>に！？　しかし元データのセルの中に余分なデータが入っていると、当然ながらデータが壊れてしまいますので注意。</p>
<p>&lt;table&gt;タグのほかにも&lt;ul&gt;, &lt;ol&gt;, &lt;dl&gt;などのリストタグにも対応しているようです。</p>

<h4 class="header-label">ImportFeed</h4>
<p>なにやらおいしそうな名前ですがｗ RSSやATOMフィードを読み込めるので、使い方次第ではおもしろいこともできそう。</p>
<code>=ImportFeed(&quot;http://feeds.feedburner.jp/webmarketing&quot;)</code>
<p>↑このサンプルは、このブログのRSSを拾っているもの。</p>
<script src="http://spreadsheets.google.com/gpub?url=http%3A%2F%2Frvpp7f74-a.gmodules.com%2Fig%2Fifr%3Fup__table_query_url%3Dhttp%253A%252F%252Fspreadsheets.google.com%252Ftq%253Frange%253DA1%25253AD20%2526headers%253D-1%2526key%253DpQvlWYJOXnNwSCRwGjC0-aA%2526gid%253D7%2526pub%253D1%26up_title%3DWEB%25E3%2583%259E%25E3%2583%25BC%25E3%2582%25B1%25E3%2583%2586%25E3%2582%25A3%25E3%2583%25B3%25E3%2582%25B0%25E3%2583%2596%25E3%2583%25AD%25E3%2582%25B0%26up__table_query_refresh_interval%3D0%26url%3Dhttp%253A%252F%252Fwww.google.com%252Fig%252Fmodules%252Forgchart.xml&height=291&width=615"></script>
<p>このように意味の分からないことも可能ｗ</p>

<h4 class="header-label">importRange</h4>
<p>これは<a class="web-site-link" href="http://blogoscoped.com/archive/2008-08-13-n89.html" onclick="window.open('http://blogoscoped.com/archive/2008-08-13-n89.html'); return false;">Google Blogoscoped</a>で紹介されていたものです。他のシートに読み込みたいデータ範囲に名前をつけてあげると、この関数で一気に読み込むことが可能になります。</p>
<code>=ImportRange("公開URLのKey","範囲につけた名前")</code>
<p>これはそのまま ='シート2'!B1 などとやってもほとんど手間が変わらないのでは？と感じましたが念のため。</p>
<p class="picture"><a href="http://lh5.ggpht.com/sigeos15/SKRJrGW4UGI/AAAAAAAACXw/8EFyKzPuBV0/s800/ImportRange-1.jpg"><img src="http://lh5.ggpht.com/sigeos15/SKRJrGW4UGI/AAAAAAAACXw/8EFyKzPuBV0/s800/ImportRange-1.jpg" /></a>
公開URLのKeyは、↑の部分を使います。</p>
<p class="picture"><a href="http://lh4.ggpht.com/sigeos15/SKRJrZCK1pI/AAAAAAAACX4/tjH78JOhKso/s400/ImportRange-2.jpg"><img src="http://lh4.ggpht.com/sigeos15/SKRJrZCK1pI/AAAAAAAACX4/tjH78JOhKso/s400/ImportRange-2.jpg" /></a>
「範囲につけた名前」は↑のような手順で作成します。</p>
<p>早速試したい方は<a class="google" href="http://docs.google.com/#spreadsheets" onclick="window.open('http://docs.google.com/#spreadsheets'); return false;">スプレッドシート</a>へどうぞ。</p>
<p>もっと詳しく知りたい方は<a class="google" href="http://docs.google.com/support/spreadsheets/bin/answer.py?answer=75507" onclick="window.open('http://docs.google.com/support/spreadsheets/bin/answer.py?answer=75507'); return false;">Google ドキュメント ヘルプ センター</a>へどうぞ。</p>

<p>なんだかこういうのっておもしろいですね。プログラマーから見たらわずらわしく感じるのかもしれませんが、知識がなくても楽しめるのは素晴らしい。</p>

<p>Via：<a rel="nofollow" class="web-site-link" href="http://blogoscoped.com/archive/2008-08-13-n89.html" onclick="window.open('http://blogoscoped.com/archive/2008-08-13-n89.html'); return false;">Google Blogoscoped</a></p>