Webページの表をソート/フィルタリング可能にする「TableTools」拡張

 Webページに公開されている表形式の資料を利用したいと思って、Excelにコピーしようと思ってもうまくいかない――そういう経験をした人はいないだろうか。公開資料としてExcelファイルそのものがアップロードされていることもあるが、やはりテーブルタグを使って表示されているものも多い。しかし、テーブルタグで表示された表を、そのまま選択してコピーしても、狙い通りの形にならず悩んでしまう。そんなテーブルタグを使って作成された表を、HTMLソースを書き換えることなく、まるでExcelの表のように操作してしまおうというのが、「 TableTools 」というFirefoxアドオンだ。

 もちろん、Excelのすべての機能が使えるというわけではないが、任意の列を元にして表全体を昇順・降順でソートしたり、オートフィルタのような絞り込みも可能。また、表の内容をタブ区切りのテキストとしてクリップボードへコピーすることができるため、Excelなどへコピーする際も手間が省ける。

tabletools1_thumb.png
図1:右クリックメニューのTableToolsの項目

 それでは、早速インストールしてみよう。FirefoxアドオンサイトのTableToolsのページから「Firefoxへインストール」をクリックして、確認ダイアログが表示されたら「今すぐインストール」ボタンをクリック。インストール終了後は、指示に従ってFirefoxを再起動すればいい。

 インストールすると、右クリックメニューに項目が追加される。ただし、テーブルタグのないWebページでは表示されず、テーブルタグが存在するWebページ内では「その他のテーブル操作」が、さらにテーブルタグ上で右クリックした場合は「テーブルの列でソート」が、追加されるのだ(図1)。

 ここでは、楽天市場を例にとってみよう。適当なキーワードで検索をかけると、商品がずらっと表示されるが、標準の並び順では、順番がバラバラにしか見えない。一応、「価格が安い」「価格が高い」「新着順」「感想の件数が多い」で並び替えられるようになっているが、TableToolsを使えばもっと効率のよい並び替えができる。

 テーブル(検索結果)上で右クリックし、「テーブルの列でソート」から、自分が並べ替えたいものを選択する。ここでは商品名の「アルファベット順」としてみたが、「自動認識!」でも同じ結果になるだろう(図2図3)。実際に試してみると、一瞬で順番が変わったのが分かるだろう。また、「数値/金額」をセレクトすることで「価格」の昇順も素早くできた。ソートの順番としては、このほかに「アメリカ式日時(MDY)」「ヨーロッパ式日時(DMY)」「日時(YMD)」「IPアドレス」が選択可能だ。それぞれ、最初に昇順、次に降順という形で並び替えられる。

tabletools2_thumb.png tabletools3_thumb.png
図2:並び替え前 図3:商品名で並び替え後

 さて、ソートの次に、オートフィルタも試してみよう。テーブル上で右クリックし、今度は「その他のテーブル操作」から、「選択フィルタの表示/非表示」を選択する(図4)。すると、テーブルの1行目の上に、オートフィルタが表示されるのだ(図5)。もちろん、最初はすべての項目が(all)になっている。オートフィルタのプルダウンを開いてみると、その列にあるすべてのデータが表示される。適当なものを選択すればその値に合致するものに絞り込まれるわけだ。もちろん、複数の列を組み合わせて行うこともできる。例えば、特定の店名のみでセレクトするなど、いろいろ使い道はありそうだ。

tabletools4_thumb.png
図4:「その他のテーブル操作」のメニュー項目 tabletools5_thumb.png 図5:オートフィルタ

 一方、「その他のテーブル操作」から「検索フィルタの表示/非表示」を選択すると、オートフィルタではなく、検索窓が表示される。検索文字列を入力してEnterキーを押せば、絞り込みができるわけだ。これらをうまく使うことで、目的のデータをすぐに参照することができる。

 それ以外の「その他のテーブル操作」の項目は、データコピーに関係するものとなっている。「タブ区切りテキストとしてコピー」「桁揃えしたタブ区切りテキストとしてコピー」は、Excelなどにデータをコピーするのに役立つだろう。「HTMLとしてコピー」では、表の部分のみを、HTMLタグで囲った形でコピーしてくれる。これによって、余分な個所を排除したうえで、表のスタイルも含めたコードをコピーできる。また、これらのコピーに関しては、フィルタしたデータのみをコピーすることができるようにもなっている。

 なお、ここで注意しなければならないのは、ここでソートしたり、フィルタしたりできるのは、あくまでもそのWebページのテーブルのみであること。ここでは楽天市場を例にしてみたが、楽天市場で検索をかけると膨大な商品が出てくることが多いため、どうしても検索結果が複数ページに分かれてしまう。この場合は残念ながら、全検索結果のソートなどを行うことはできないことになる。ただし、まったく手がないわけでもなく、検索結果のすべてのページからTableToolsでコピーを行い、それをExcelなどに貼り付けることで、Excel上でのソートやフィルタ操作はできる。

 なお、TableToolsのオプション設定も見ておこう。メニューの「ツール」→「アドオン」から「拡張機能」タブの「TableTools」の「設定」ボタンをクリックする(図6)。

tabletools6_thumb.png
図6:オプション設定

 設定項目は、「基本オプション」「キーボードショートカット」「上級オプション」の3つに分かれている。この、「キーボードショートカット」の設定で分かるように、ソートの実行など、いくつかの動作はキーボードから行うことも可能となっており、書とカットキーはカスタマイズも可能となっているので、使い勝手の良いように変更するとよいだろう。

 「基本オプション」では、デフォルトで「最初に昇順でソート」と「フィルターを必要時に作成」にチェックが入っている。このほかの項目や、「上級オプション」に関しては、必要に応じてチェック、変更するといいだろう。

 TableToolsを使うことで、Web上に存在する資料ページの表部分のみを操作したり、抜き取って再利用したりすることがやりやすくなるに違いない。表データを活用することが多いユーザーには必携のアドオンだ。