Feed

ヘタレExcelユーザ

Posted on 9月 29th, 2006 in 倉庫 by apj

 普段仕事をしていても、たまにしかExcelを使わない。データ処理は波形解析が命だからIgor Pro以外は論外である。それ以外のデータを自分で管理するのは成績を出すとき位で、つまり前期と後期の最後の数日しか使わない。他には、事務からExcelファイルで回ってきた文書に必要事項を記入して提出するとき位か。ということで、数値を入力して、罫線を引いたりセルの色を変えたりして、あとは平均とか割り算とか合計するという数式を、ヘルプを見ながらポツポツと入れる程度である。正直、これ以上の機能はどうやって使っていいかわからん。グラフも作ったことはない。
 ところが、3,4年に一度、ExcelのVBAでやると楽という仕事が降って湧く。今日は、11月の溶液科学シンポジウムの予稿集巻末の索引製作作業をExcelでやっていた。
 発表登録者の情報はPostgreSQLに突っ込んであるので、テキスト形式で適当なデリミタを入れてダウンロードしてExcelのシートに突っ込む。そこから、講演番号と発表者一覧とふりがな一覧を持ってくる。索引だからソートしなければいけないので、発表者とふりがなが1対1対応の関係を保ちながら、発表者それぞれに講演番号を割り振ったテーブルを作る。そのあと、発表者名でソートし、丸印付きの発表者の講演番号は太字にするといった処理をして、最後にTeXのテーブル形式でテキストファイルに保存する。何でこうなるかというと、1つの講演番号で識別される演題は複数の共同発表者がいることが多く、そのうちの一人が登壇者となっていて、いろんな演題の共同発表者になっている人もいるからである。これを、最終的に、発表者と講演番号の1対多対応の表にし、その発表者が登壇する講演の番号だけ太字にしたものを、発表者名でソートしたのが、欲しい索引ということになる。
 とても手作業ではやってられないというか、やる気にならない作業である。だから、発表登録の時から、共同発表者は・で区切れとか、登壇者に○をつけろとか、細かく書式を指定してウェブ入力してもらうようにしてある。勿論間違いはあるがそれは数少ないので手作業で修正して、索引生成VBAマクロにかけている。
 perlとかawkでも十分書けるんだろうけど、途中処理が目に見える方がバグ取りがしやすいという理由でExcelでやっている。
 問題は、こんな作業は滅多にないから、一回やって、完璧に何をどうしていたか忘れた頃にまたVBAが必要になるということで、毎回ほとんど白紙の状態から作業するはめになることだったりする。まあ、今回は、前回の学会事務作業で作ったマクロをそのまま取っておいたから、何をしてたかは殆ど忘れている割に、作業はあっさり終わった。

 そういえば、最初にExcelを使った時も、マクロ書きから入ったなぁ……。アルバイト仕事だったけど。グラフもろくに描けないけどマクロやVBAは触るユーザってのもなんだかなぁ。


ここからは旧ブログのコメントです。


by yish at 2006-09-13 14:57:13
Re:ヘタレExcelユーザ

VBAがバリバリ使えるんならExcelユーザーとして胸を張れますよ。ほとんどの人はExcelは単なる作表ツールですからね。Excelで計算する人は少数派です。VBA使う人はもっと少ないけど。

私は仕事ではほとんどExcelしか使いません(汗) もうね、社内で流す文書はMicrosoft Officeの文書にしろって決まっちゃっているのでどうしようもありません。会社のコンピュータには勝手にいろいろなソフトをインストールしてはいけない事になっているし(まあ、なっているんだけど・・・ね)。Excelは数値をいじった結果がすぐにグラフで見えて便利ではあるのだけど、散布図で対数目盛りにしたときに範囲が必ず10のべき乗単位になってしまうのが使えません。Igorなら2E-3~5E-2みたいな範囲でも対数目盛りでグラフがかけるのに。他にも、ワークシートに入れる数式で、負号の優先順位が数学的におかしいし。所詮ビジネス用ソフトなので、科学技術向きの機能を期待するのが間違いなのかも。

と言いつつ、Excelはバージョン2.0の頃から使っているので、その頃からある機能には詳しいつもりです。でもわりと好きでよく使うのはINDIRECT関数だったりします。VBAも導入されたExcel 5.0の時からぼちぼち使い始めて、自作の謎のマクロがいっぱいあります。ユーザー定義型を使ってCの構造体をバイナリセーブしたファイルが読めたりして結構便利なんですわ。


by apj at 2006-09-11 19:40:11
Re:ヘタレExcelユーザ

>VBAがバリバリ使えるんならExcelユーザーとして胸を張れますよ。
バリバリなわけ無いじゃないですかぁ。ほんのポツポツですよ。

>社内で流す文書はMicrosoft Officeの文書にしろ
 全体の管理コストを下げるためでしょうね。

 会社の方と一緒に仕事をしていて、じゃあこのデータ処理で、なんて言ってたら、向こうは丸一日かけてExcelでやってたことが後で判明したり。Igorだと30分でできる作業だから気軽に言ってたら、えらいことになってた。

>ユーザー定義型を使ってCの構造体をバイナリセーブしたファイルが読めたりして結構便利
 Igor Proは、CでXOPとかXFUNCとか書けるんで、ほとんど無敵ですねぇ^^;)。


by 酔うぞ at 2006-09-08 20:24:08
Re:ヘタレExcelユーザ

手元の処理ならなんでやっても良いでしょうが、他に回すときにどうするか?でありますよ。

それで「とにかくワード」とかなってしまうのだが、慣れの問題も含めて使いにくいと思ってるから「え~いPDFだ」とやると「見えません」と来る。

仕方ないから「何でも HTML 」という方向に向かってみたら「修正の都合で」となるね。

あ~なんか、交通整理のために苦労しているような感覚。


by apj at 2006-09-39 03:25:39
Re:ヘタレExcelユーザ

 wordのファイルでないと受け付けないと言われたから、texで書いてdviにしてpdfにしてjpeg画像に変換してwordファイルに貼り付けて渡しました。カメラレディの原稿出せってことだったので。