2009-08-06[n年前へ]
■エクセル2007で綺麗なグラフ動画を作る テクスチャマッピング円グラフ(リベンジ)編
「エクセル2007で綺麗なグラフ動画を作る テクスチャマッピング円グラフ編」では、作成した円グラフ動画の縦横比・大きさが変化してしまい、綺麗な動画になりませんでした。そこで、今回は再度チャレンジし、今度こそ、綺麗なテクスチャ付き円グラフ動画を作ってみることにしました。それが下に張り付けた2つの動画です。
最初(上側)の動画は、普通にテクスチャマッピングして、円グラフの各要素を切り離して回してみたものです(この動画はYoutubeに上手くアップロードできなかったせいか、途中画面の下側が変になっているようです)。そして、次(下側)の動画は、各要素をくっつけた状態で各要素に透過度をつけ透けさせてみた円グラフになります。
今回は、ようやく綺麗な「テクスチャマッピング円グラフ動画」を作ることができたような気がします。
(私がエクセルを使い慣れていないため、こう感じるのかもしれませんが)エクセルは繰り返し作業を簡単に効率化することができないため、私はあまり好きではありません。けれど、Excel 2007のグラフ機能を眺めていると、どれだけ綺麗なグラフを簡単に作ることができるか、これからも引き続き挑戦してみたくなります。
参考までに、テクスチャマッピング付き棒グラフ動画もExcel 2007で作ってみました。それが下に張り付けた動画です。結構綺麗で見とれてしまったりしますね。
2009-08-07[n年前へ]
■Excelで正規表現を利用した検索・置換を可能にするアドイン「正規表現検索」
Excelで正規表現を利用した検索・置換を可能にするアドイン「正規表現検索」
「正規表現検索」は、「Microsoft Excel」(以下、「Excel」)で正規表現を利用した検索・置換を可能にするアドイン。Windows 95/98/Me/NT/2000/XP上の「Excel」97以降に対応するフリーソフトで、作者のWebサイトからダウンロードできる。
2009-08-17[n年前へ]
■エクセルという黒魔術
Excelは「スケッチブック」としては素晴らしい、と思っている。それほど複雑でない処理を、思いつくままに描くのには、とても素晴らしいソフトだと思う。
しかし、それを「繰り返し」使おうと考えてしまったなら、いきなり、驚くほどの時間を消費するブラックホール・モドキに変わる。もっとも、浪費した時間に応じて、少しの結果を出してくれるところが、単なるブラックホールではない。だからこそ、たちが悪い。
かといって、Excelと関わらないわけにはいかないことも多い。そんなときは、プログラミング言語を使って、エクセルファイルに対して処理を行うことになる。たとえば、Ruby で.xlsファイルを読むことができる"Parseexcel"のようなライブラリを使い、データ処理を行うことになる。
たとえば、多数のエクセル(.xlsファイル)に対する処理をしなければならないことも多い。そんな時は、こんな具合のRubyスクリプトを書くことにしている。たとえば、これは、引数で渡したディレクトリ中にある.xlsファイルのB3セル(row.at(2) if line==3)の値をすべて足した結果を出力するスクリプトを、動作確認しないまま書いてみたものだ。
require 'parseexcel' files=Dir::entries(ARGV[0]) files.delete_if!{|v| true unless /\.xls$/=v} } sum=0.0 files.each{|file| wb=Spreadsheet::ParseExcel.parse(file) ws=wb.worksheet(0) line=1 ws.each{|row| sum+=row.at(2).to_f if line==3 line+=1 } } puts sum.to_s
もちろん、"parseexcel"を使うためには、
gem install parseexcelという具合でparseexcelライブラリをインストールしておく必要がある。また、企業内で使うような場合、つまり、Proxy内からインストールする場合には、
set http_proxy=http://proxy.hoge.co.jp:8080 set http_proxy_user=hoge set http_proxy_pass=hoge gem install parseexcelというように、Proxy(とユーザ名・パスワード)の設定をしておかなければ、インストール作業ができないことも多いかもしれない。
それにしても、エクセルは本当に黒魔術だと思う。しかも、強力極まりない黒魔術である。色んなことが簡単にできるがゆえに、実に色々な状況で使われる。本当に役立つことが多いのも、否定のできない事実である。しかし、とてつもなく時間を浪費する輩なのである。
2009-08-24[n年前へ]
■(恥を忍んで)RC形式でエクセルを使うスクリプトを書いた
エクセルは便利だが、LEGOブロックのようなものだ。舞うを掴んだ手を動かし、ワークシートの上で泥臭い作業をしているうちに、いつしか何らかの機能を持ったものができあがる。時間はかかるが、確かに何かができあがる。しかし、どうしようもなく、再利用しづらく、行き当たりばったり感が否めない。
かといって、スクリプト言語で作業をしようとすると、何らかの機能を実現する「ライブラリ」を探したり、あるいは、教科書を広げ関数機能を実装する手間が必要になったりする。もちろん、サラサラとコードを書きおろすことができる人は別だが、エクセルもスクリプト言語も色々な解析手法自体も苦手な人間には、そういった作業がどうしても必要になると同時に、何ともシンドく感じてしまう。
今日、データ解析をするRubyスクリプトを書くときに「(CSVファイルを介して)エクセルの機能」を使った瞬間には、さすがに「これは情けないな」と自分でも思った。どういうことかというと、たとえて言うならば、配列の標準偏差を計算するために、こんなスクリプト(a.rbと名付けておこう)を書いたわけである。
num=100 num.times{ datum << rand()*100 } puts 'STDEV,=STDEV(R[1]C:R['+(num+1).to_s+']C)' datum.each{ |v| puts ','+v.to_s }そして、
ruby a.ruby > a.csv a.csvとすることで、(たとえば)100個の配列の標準偏差を計算したのだ。つまり、「何らかの機能を実現する関数を実装・探す」のが面倒くさくて、エクセルにその作業をさせるスクリプトを書きなぐったのである。・・・実に情けないとしか言いようがない話だ。
・・・ちなみに、こんな風に黒魔術師”マイクロソフト エクセル”の力に頼ったスクリプトを書くときには、セルの位置指定方法は「RC形式」にしておくのが、楽でいい。もちろん、こんな情けなく・小汚い作業はしないのが一番なのは、言うまでもない当たり前のコンコンチキなのである。当たり前だのクラッカーなのである。
2009-08-25[n年前へ]
■Excel2007で学ぶ画像処理の基礎
前回、Excel2007で画像表示ではエクセル2007を使って、セルに画像の画素を割り当てて、画像を表示する方法を紹介しました。
今回は、このファイルを応用して画像処理をエクセルで試せるようにしてみました。