【Computing】のブログ記事

2007年12月14日  

エクセル集計ツール

 エクセルで、カレンダー型というかひな壇型というか・・・縦横に無数に並んだ文字や数字があって、その中から何が何個あるのかを拾い出す作業を同僚たちがよくやっている。何十分もかけて手作業(目作業)でやっている。自分だったら

1)作業シートにデータをコピーする
2)縦一列に並べ替える
3)データ順に並べ替え
4)重複レコードをはじく
5)出来たデータでcountifをやる

という感じで作業するが、これを全部教えるのは時間がかかるので最後まで聞いてくれない。数人にcountif関数を教えたりもしたけど、結局どんなデータがあるのかは目で探すか、上のような作業をしなくてはならない。今までは全員がエクセルを覚えることが大事ではないかと思ってきたが、考え方を変えて、簡単に集計できるツールを作成してみた。

 作っているうちに別の要望も出てきたので追加機能も入れてみた。

名前,数量

という形のデータを1000行までsumifで集計するものだ。

20071214.png

 どちらもsheet1のデータを集計しsheet2に結果を書き込むが、書き込まれたときはsheet1に対して関数で集計を表示している状態になるので、あとで間違いが見つかった時も簡単に直せる。たぶんタイトル行や日付などの余計なデータも入って集計されるだろうから、要らないデータをいくつか消す必要が出てくるだろう。

 最初作り始めた時は「横はZ列(26列)まででいいだろ」などと甘く考え、全部式を手打ちして力業で処理していた。ところがサンプルデータ(実際にギョーカイに出回っている雛形データ)を入手してみたら、5ミリ方眼紙のようなデータで100列以上使われている。これは駄目だと思い、Loopする式に書き直して250列に対応したのだった。方眼紙はしばらく見たくないが、いい勉強になった。

the-shukei.xls(190KB)

2007年12月13日  

メモリ増設

 同僚(元ネットアイドル)が結婚を機にPCを買うとのことで、某社のノートPCを紹介した。高いイメージがするブランドだが、Officeパーソナル付で10万円ちょっとだった。安くなったものだ。

 あまりに安いせいか一時的に品切れになったようで、増設メモリだけ先に出荷されてしまい本体は一週間ほど遅れることになった。いったん自分のところに入れさせてセットアップしてから納入したかったが、今回は経費と時間を節約するためメーカー直送にした。年賀状の都合もあるからな。

 納期がずれる旨は発注の後に連絡をもらった。一抹の不安を覚えたが特に文句は言わなかった。ダイレクト販売の特価品はよく品切れになる。発注したのに数時間後に品切れで断られたこともある。しかし今回はメモリだけ先に出荷すると言う。ということは本体も必ず出荷するという意気込みなのだろう。万一外れても、メモリを“人質”にすれば交渉しやすい。カード決済だったので決済の順序だけ確認し「出荷されたものから決済される」ことを確認して了承した。これがたしか先々週のことだった。

 メモリも本体も順調に納品され一件落着と思っていたが、まだメモリ増設をしていないとのこと。やるなら早いほうがいい、目覚まし時計の裏蓋を開けて電池を入れるようなものだから・・・と勇気づけておいた。やや心配ではあったがまあ大丈夫だろうと思っていた。

 そして今朝、会社に行くかと携帯を取り画面を見るとメールが届いている、「壊れた」と悲鳴のようなメールが。時刻は草木も眠る丑三つ時。ワシも眠っていた。

 昼休みに電話でサポート(拠点間は無料で通話できるようにしてあるのでこういうときは非常に便利だ)してみたが、メモリ増設をする前にパームレストの取り外しがまずうまく行かなかったらしい。現物を前にすれば鼻歌交じりで出来ることなのだが、買ったばかりのPCが壊れてパニクっている女性を電話で遠隔操作しながら作業し、その報告を聞きながらトラブルシューティングするのは非常に難しい。ドライバーを使うときは押す力を7で回す力を3だとか、メモリの抜き差しだけでそうそうは壊れないからなどといろんなことを話しながら進めていく。なんとかパームレストは外れた。ネジ4本の中の1箇所はナット側を壊してしまっているようだ。まあ1本ぐらい大丈夫だろう。

 スロットが2個でメモリも2枚。最初についていたメモリだけにして起動してもらったが

ピー、ピーピーピー、ピーピーピー、ピー

と物凄い警告音が出る。スロットを変えても出る。他に出来そうなこともないのでもう一回抜き、斜めに挿し入れてやや強めに押してから倒してセットしてもらった。さっきまでは「おばあちゃんに指圧するぐらいの強さ」でメモリを押せと説明していたが、「お母さんに指圧するぐらいに強くして」と指示を変えた。

 すると「動いた」との報告が。なるほど、どうやらメモリが奥まできちんと入っていなかったようだ。もう一枚も同じように入れてもらい、無事起動。パームレストもなんとか装着出来、起動してのチェックもOKでようやくミッション終了となった。

 長年PCに関わっていて、ノートだけでもかれこれ数十台セットアップやメンテをやっている。すっかり慣れっこになっていまい「3分で出来る」などと軽く言ってしまったが、そういうワシ自身もそういえば初めての時は緊張したなとか、タワーPCを初めて組み立てるときは一つ作業をするたびに本を2冊読み比べながらやったなとか・・・忘れていたことを思い出した。ワシらが何気なく使うドライバーも、一般の家庭にはなかったり、あってもサイズが合わなかったりするのは当たり前だしな。自分が慣れる・慣れないとは別に、アドバイスとして不適切なものだったかもしれないと反省しているのである。

2007年12月12日  

名寄せ

 データベースではキーは重要だ。キーがしっかりしているデータはどんなに大量でもあっという間に処理できる。一度でもアクセス等のdbで苦闘したり、他人が作ったエクセルのシート2~3枚を統合しようとしたことがあれば分かるだろうう。

 パソコンに興味がない人でも、「ダンナが管理している住所録と、奥さんが管理している住所録を一つにまとめる」って作業を想像してもらえばイメージが湧くだろう。人間だったら名前を見て「同じ人だ」「違う人だ」と判断するが、結婚や離婚などで名字が変わったり、誤字や脱字もあるだろうから作業は簡単にはいかない。それでも夫婦の住所録ならどちらかが顔見知りだからまだ楽だろうけど、これがまったく顔も名前もわからない第三者の名簿だったら作業は難航するはずだ。

 さらにこれをコンピューターでやろうとすると、名字と名前の間にスペースが入っているかどうかなんて問題も絡んでくる。更にもの凄いデータになると、印字したときの見映えを狙って字と字の間にすべてスペースが入っていたりもする。旧字体の処理なんかも絡んでくると、全部解決するのは絶望的に思えるはずだ。

 消えた年金の問題はこれがもう数倍から数十倍複雑になったようなモノ・・・じゃないかな。通常の処理から外れてしまったものが何千万件もあるわけで、それを新しいソフトで処理と言ったところで相当難しいだろうとは思っていた。やるとしたら「疑わしきはすべて有利に」でやっつけてしまう位だろうなと。ところが偉い人は「全部解決する」と言い張り、そしてやはり駄目だった。

 その裏には、コンピューターのデータベースのことなんか全く分からないのに、「名寄せ」と聞いて「その言葉なら知っている。それなら時間さえかければ出来る」と思った人がいたんじゃないかな。「何億円もするコンピューターソフトを使うから大丈夫だ」と思った人もいたんじゃないかな(13億円らしいね)。言った方だけでなく、聞いて納得してしまった方にも問題はあるように思う。

 ワシらの世代より上の人は知っていると思うが、昔運転免許証には意味不明のフリガナがふられる時代があった。漢字に特定の読みを一つだけ割り振り、それをカタカナで並べたような雰囲気だった。昔のコンピューターは漢字が処理出来なかったから、たぶんこの不思議なフリガナをキーのような扱いにしてコンピューター処理していたんじゃないだろうか(その頃は免許証の名前や住所の部分は代書屋さんに和文タイプで打ってもらった。手書きでも大丈夫だった)。仮にこのデータを漢字に自動変換するとして、何億円もかければ大丈夫かというと・・・そもそも名前がひらがなの人もいるから100%は無理ですな。似たような問題は年金のお役所にもあるはずで、データ上の100%解決はどうやっても無理だろう。落としどころを作って国民の不利益にならないようにするしかないと思うが・・・それもまた税金だなあ。

2007年12月 7日  

つぶやき

 ブログを読んでいると、文章がだんだん短くなってきていることに気付く。切りの良いところで改行が入って折り返すのが当たり前、文章とか段落なんて概念はもうなくなってしまっているかのようだ。

 こういう習慣はたぶん電子メールから始まり、それが一般的になったのだろう。思い起こせばパソコン通信でも「一行80文字前後で改行を入れろ」とよく言われていた。原稿用紙を使わされていた世代には思いもつかないやり方だ。おそらく理系の人々がレポート用紙に日本語を書く場合のやり方と似ていて、違和感無く導入されやがて一般化していったのだろう。

 昔は先に文章を書き、書き終わってからVZエディタの改行マクロで整形して改行を入れたりしたものだけど、今は手動で文節の切れ目でどんどん改行する時代になっている。句読点や長音記号が行頭に行かないようにするのを禁則処理というが、そのうち文節の切れ目以外で改行するのも禁則になるのかな。というか、そんな処理をするならワープロって完全に不要になっちゃうな。エクセルを方眼紙にして文章書く人も多いらしいし。

 最近は携帯の画面でメールを読み書きするのもあたりまえになり、ブログも携帯からの書き込みが当たり前になり、更に文章が短くなっている。中には「つぶやき」とか「さけび」が大半のブログもあったりする。それはそれで読んでいて面白いが・・・今はまだギリギリで「普通の文章を読み書きできる人」が洒落で短文を書いている状態だと思うが、文章が長いだけで読むのをあきらめてしまう人も多くなっている。業務で送ったメールも「長いから」と読まない(でも文句は一人前に言う)。かなり凄い状態になっていると思う。

 そのうち今の状態があたりまえになって、そこから更にもの凄い世の中になっていくんだろうな。で、「昔はまだよかった」と。

2007年12月 4日  

月末

 月末作業でトラブル発生。データを見るとどうも末締めの締め日繰越が行われていない様子だ。

 日本語では「末」とか「月末」っていう便利な言葉があって、それで取引先への請求を締め切ったりする。ところがこれがけっこう曖昧な言葉で、20日締はかならず20だけど、末締は31だったり30だったり28だったりして、たまに29だったりもする(閏年は閏年でまた単純に4年に1回とは言い切れないようで、それは以前調べて書いた)。たいていのシステムでは取引先の締日を2桁で管理していて、末締の場合は「31」と登録しておくのが普通だろう。で、11月の末締のパラメータを「31」でやるべきところを「30」で実行してしまい、全データ空振りしてしまったようだ(実際にはもう少し複雑な事情があったが、ここではとりあげないでおく)。

 「30」とか「28」だったらエラーにするという方法も考えて業者さんと相談したけど、30日締という取引先が今後絶対に現れないという保証はないので良くないという結論に。確かに、締日が5日毎ってのは決まりじゃなくて習慣みたいなもんだろうしな。

 しかしこのままではよくない。このトラブルが起きる可能性は何年も前から気付いていて「気をつけるように」とは言っておいたが起きてしまった。今回また「気をつけて」と言ったり、長時間説教したところで(しないけど)次もまた起きる可能性がある。気付いていたのに「気をつけろ」だけで放置してしまったのはワシの責任だ。

 しばし考え、作業チェックリストの日付記入欄に「5・10・15・20・25・31」と選択肢を作りマルで囲む運用に切り替えることにした。今まではそこは「   年   月   日」となっていて、数字は手書きだった。普通の人間だったら11月の月末は「30」と書くのが当たり前だ。そこで「31」と書いて貰うためのチープな工夫である。これで間違いが発生する確率は0とは言わないが減るだろう。

 さらに、繰越を実行したことが確認出来る画面を作成し、そこの数字が0になっていれば作業完了というチェックを入れることにした。これでトラブルが発生してもすぐ気付いてやり直しが出来るようになるはずだ。

 以前だったら「気をつけろ」だの「しっかりしろ」だの「仕方ねえなあ」で終わっていたと思うが、飛行機に再び興味が出てきてパイロットのブログや本を中心にいろいろ見聞きしているうちに、影響を受けて少々やり方が変わってきているのであった。予算が限られているので何千万もかけるのは無理だけど、チープな工夫でも同じ効果は得られるのではないかと思う。

 同僚からプリンタ購入の相談あり。今時売っているモノはそうそう当たりはずれはないはずで「どれでも大丈夫だよ。好きなの買えば~?」で済ませてもいいのだが、仕事にも役立つことだし、自分の意見が今時の世情と合っているのかを点検するチャンスでもある。チェックを入れてみた。

 家庭でたまに使う程度、年賀状と写真がメインというごく普通の条件。特記事項としては最近ご結婚されたばかりで、今回の年賀状は少々気合いを入れて作成したい様子である。PCは普通に使えるから写真の印刷はダイレクト印刷ではなくPCに保存し加工して印刷できるだろう。今回はC社のA4インクジェットプリンターの中から検討してみた。

 ざっとまとめると

品名 解像度   インク  速さ コスト  大きさ    価格
---------------------------------------------------------------------------------------------
2500 4800dpi 4色(一体) 46秒 18.4円 コンパクト   7,980円(10%還元)
3500 4800dpi 4色(独立) 40秒 13.6円 やや大きい 12,980円(10%還元)
4500 9600dpi 5色(独立) 18秒 14.5円 やや大きい 15,300円(16%還元)

となる。スピードやコストはメーカーのサイトから数字を拾った。インクが複数あって二種類数字が出ているものは安い方を拾ってみた。価格は大手カメラ店の通販サイトを参考にした。

 この中からどれを買うか。同僚は当初一番安い2500を選びそうになっていた。私は3500を勧めた。ランニングコストが一番安いからだ。使用するインクカートリッジを調べてみると、

●2500
 黒 2,210円、カラー 3,150円 → 計5,360円

●3500
 黄・赤・青 各1,050円、黒 1,160円 → 計4,310円

●4500
 黄・赤・青・カラー用黒のセット売 3,870円、黒 1,160円 → 計5,030円

となる。2500はインクだけでなくヘッドも付いているからその分高い(年に一回しか使わず固まってしまった場合にすぐ交換復旧するというメリットもあるけど)し、一色だけなくなっても一式交換しなくてはならないから実際にはもっと高くなるだろう。実際には各色同じようなスピードで減っていくけれど、「青はまだ半分残っている」なんてこともよくあるから、1,000円儲かったような気分になれる。メーカー発表のランニングコスト(標準的な写真やデータを印刷したときのコスト)では3500と4500は0.9円の違いでしかないが、「インク買ってきて」と言われて買い物に行ったときに一つ多くインクを買わなくてはならず、720円高くつく。「こないだ替えたばかりなのにまた5,000円~?」という悲鳴が聞こえてきそうではないか。会社だったら総務に行って「インクちょうだい」で済むが、自分の家では自分で買わなくてはならない。インク売り場で詰替用のインクで大丈夫かと悩んでいる人は非常に多い。ランニングコストというよりも「懐へのインパクト感」とでも言えばいいだろうか、これの実生活への影響は大きいのだ。

 家庭用のプリンター商売は本体を安くしてインクなどの消耗品で儲けるビジネスモデルなので、メーカーとしては4500を売りたいのだろう。ポイント還元率がこの商品だけ高いのがそれを如実に物語っている。上位機種には7色インクなんてのもあるようだ。私はきれいさとスピードはそこそこでいいから、とにかくランニングコストが低いものを選ぶ(実際数年前にこの買い方をした)。

 同僚は結局スピードとCD盤面印刷を重視して4500を選んだようだ。通販よりも店頭の方が高かったらしく、交渉して値切ることに成功したそうだ。確かにスピードは魅力的だしな。インク購入の際の+720円が許容できるなら良い選択だろうな。

2007年12月 1日  

小学校のパソコン教室

 小学校の文化祭のようなものがあったので行ってみた。前半と後半に分かれていて、前半は理科室で実験を見たり体験させてもらったり。片栗粉が水の中で固くなったりやわらかくなったりするのが面白かった。糸電話も何十年ぶりかでやったけど、女房と何話していいか分からなくて「あーあー」だけしか言えなかった。

 後半はパソコン教室でアニメーション作りをやっていたので覗いてみた。生徒数が急増したため校庭に増築したプレハブ校舎の二階、壁に沿ってぐるりと机が並び、そこにWindowsXPのノートPCが2、30台置いてあって、子どもたちが楽しそうにアニメを作っている。ワシは20年以上PCやらなにやらやっているけど、自分でアニメを動かした経験はない。凄いもんだなと素直に思った。

 クライアントPCは制限ユーザー権限だったようでマイコンピュータすら見られなかったが、表示されているランチャーを見てみたら予想通り“阿波徳島”製で、「ワープロ」というアイコンをクリックしたら懐かしい“男の子”が出てきた。一般のビジネスシーンではほとんど見かけなくなってしまったが、こんなところで元気にしていたのか。

 何台か「練習用」と書かれたWindows98のノートPCがあったがネットワークにはつながっておらず、誰も使っていなかった。先生用のPCもWindows98で、こちらはネットワークにつながっている。先生が長い時間席を外していて、その間なにかあってはいけないと思い(ここ大事)コマンドプロンプトを開いて設定を見たりテストをしてみたが、その時点ではインターネットにはつながっていない様子だった。

 数年前の同じ学校のパソコン教室は、円形の机に5台ぐらいのPCがあって後ろから先生が教えている・・・というような雰囲気だった。たぶんワープロを打ってみるぐらいしか出来なかったのではないだろうか。以前第一子に聞いてみたことがあるが「壊れると困るからあまり触るな」って言われていたようだ。その頃のことが大昔のように思えてしまうこの光景だが、パソコンに慣れるという点では非常に良いと思うし、将来プレゼン用の資料作りをするときなどにこういった経験はきっと生きるのだろう。けど、何かが物足りない。児童用に作られたソフトを上手に使いこなすことと、インターネットを経験してみることしかやっていないんじゃないだろうか。

 これはゲームで例えると、「ソフトを買ってきてキャラとストーリーを作って面をクリアすること」と大差ない。ゲームをやるのにはビデオ端子付きのテレビを用意したり、端子とケーブルの色を正しく揃えて接続したらリモコンで入力系統を選択したりといろいろやることがある。たいていの子どもたちはこういったことは苦手ではなく、苦手でもゲームをやりたいために克服してしまう。そして、「片付けろ」と怒られるときれいに片付ける。

 おそらく業者が構築したネットワークにつながり、パソコンのスイッチを入れればいつもの画面になり、クラスと出席番号を入れれば前回の続きができるようになっているのだろう。それはそれで素晴らしいことだけど、たとえばそのPCをたまには自分たちの教室まで持ってきて、各グループのところにハブを置いてLANをつないでインターネットにつないでみる・・・とか、つながったら席がえをしてみるとかしてみてはどうだろう。知っている人が噛み砕いて教えれば、子どもにとってはそれは「コンセントを挿す」「テレビとゲーム機をつなぐこと」と同じぐらい簡単なことだと思う。そういうことを経験していないとセキュリティのことなんて説明してもまったく想像がつかず、単語の暗記ごっこになってしまうんじゃないかな。

 今はパソコンそのものが主題・目的になっている小学校のパソコン教室だが、おそらく数年後にはアニメーション作成ソフトは図工の授業で、インターネットは社会や理科の授業で使われるただのツールになるだろう。その時にパソコン教室はどうなっているだろうか。ただコンセントが沢山ある部屋でしかなくなるのか、それともユーザー側ではないエンジニアやプログラマーの卵が生まれるきっかけとなり、夢を与える部屋になるのか・・・どちらだろうか。

2007年11月30日  

エクセルのシート作り

 頼まれてエクセルのシート作り。込み入った注文を整理する受注票のようなものに製品マスターをくっつけて、品名を入れるとコードや定価が出てくるといういつものパターン。更にオプション数種類の料金も簡単に加算できるようにし、基幹システムに合わせて5行毎に背景色を変えたり(全面的に変えちゃうと下品になるから行番号だけさらっと変更)などと小技も効かせてみる。

 朝頼まれて夕方には一応ベータ版を納品。「凄い。エクセルって何でもできるんですねえ」と言われる・・・いや、まあ、たしかにエクセルの機能なんですが・・・

               
Powered by Movable Type 4.22-ja