民芸的プログラミング 〜ソフトウェア開発日記〜

アクセスカウンタ

zoom RSS 場所によっては現役の Excel 97 の罠

<<   作成日時 : 2009/05/31 09:57   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

Excel 97 を使う機会があって、ちょっとした罠にひっかかった。
念のために調べたら、Openoffice.org 3.0 の Calc にも同じ罠があった。
なのでここで紹介しておく。単純な例で。

作業内容は、試験の結果から、50点以上の受験生を抽出するというもの。
今回は Calc で再現してみた。
元のデータはこんな感じ。
画像


ここで、50点以上の受験生をフィルタで抽出する。
フィルタの「標準フィルタ」を使って、score が >= 50 を指定(Excel ではフィルタでオプションを選択し、 「score」が「以上」「50」 を指定)。
すると、こうなる。
画像

よく見ると、最初のデータで点数が50点だった c さんが消えている。

ちなみに、同じく標準フィルタを使って、score = 50 の条件で抽出(Excel ではフィルタのオプションで、「score」が「等しい」「50」)すると、こうなる。
画像

ここでは50点の c さんが現れる。

同じ50点なのに b さんと d さんは常に現れて、c さんが現れたり現れなかったりする謎。

元のデータは千件単位だったので、誰が消えたり現れたりしているのかさっぱり分からず、他の方法で検証した数値と件数が合わないので、まる一日、右往左往していた。

結論から言うと、c さんのデータを入力する際に、セルの書式が「文字列」になっていたのだ。
入力後、書式を「標準」に戻し、さらに丁寧なことに、セルを「右寄せ」表示に設定してあった。

こうなると、見た目ではまったく判別がつかない。
しかも、>= や <=(Excel では「以上」「以下」)ではひっかからないのに、「=」ではひっかかるという、一見不思議な仕様。

こういう現象があるということを知っていて、さらに c さんだけおかしな入力の仕方をしているということを知っていないと、基本的に探しようがない罠だ。

自分ひとりで作業しているとこういう現象に出会うことはまずないと思うが、複数の人間で作業している職場では要注意だ。

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
場所によっては現役の Excel 97 の罠 民芸的プログラミング 〜ソフトウェア開発日記〜/BIGLOBEウェブリブログ
文字サイズ:       閉じる