2011年2月8日火曜日

確かにEXCELは超便利ツールではありますが。。。。。

この前、社長からEXCELを検証してくれと命ぜられた。

作成したのは以前のシステムの担当者。まぁ、コンピューターの事を知っている人間が作成したのだから検証するといっても大した手間でも無いと思っていたら大間違い。

最初に気付いたのがそのシート全体で数値の精度を決めていない。整数だけの計算ならば問題ないが、小数が入ってくる計算の場合、そのシート(システムと言うと堅苦しくなるが)全体で数値の精度を決めないと正確な計算結果が得られない。システムに携わっている人間とは思えないくらいひどい計算式だった。
また、時間を入力するようになっていたが、ユーザー独自の書式で値を入力させるようにしていたので、値がとんでもない値になっていた。これを普通に計算しようとすると、結果もとんでもない値が出てきてしまう。他にもいい加減な数式が多数有り、結局、検証ではなく、新規構築になってしまった。

でも、普通のユーザーはもっと何も考えていないかもしれない。EXCELはとても便利なツールだけど、一貫した考え方を持って作成しないと、とんでもない結果を引き出す可能性が大の諸刃の剣だ。実際、このEXCELを使っていた人からは、値を変えても結果が変わらないことが有り、これで良いのかなと思いながら使っていたと訊いたので、恐ろしいものだと思った。

これを読んでくれた人に対して、私からのアドバイス
小数を使うシートを作成する場合は、必ず数値の精度を決めてから作成に取りかかりましょう。例えば、○○の値は小数点第3位を四捨五入するとか、○○の値は小数点第2位を切り捨てとか、基本的な精度を決めましょう。EXCELは、1つのセルに値と書式の2つの情報を保持しています。例えば、1.2345という値を入れて、書式を数値にして、小数点以下の桁数を3桁に設定すると、1.235と表示されます。これはEXCELが自動的に値を小数点第4位を四捨五入してくれたからです。しかし、これは危険性をはらんでいます。表示の仕方次第で値の精度が変わってしまうからです。もし、誰かがセルの書式を標準に変えてしまったら、計算に使用される値は最初に入力した1.2345となってしまいます。こうならない為には、EXCELの関数を使って値の精度を決めましょう。四捨五入する場合はROUND関数、切り捨ての場合はROUNDDOWN、切り上げの場合はROUNDUPを使います。

書式
・四捨五入の場合、小数点第3位を四捨五入だったら、ROUND(値,2)、小数点第2位を四捨五入だったら、ROUND(値,1)
・切り捨ての場合、小数点第3位を切り捨てだったら、ROUNDDOWN(値,2)、小数点第2位を切り捨てだったらROUNDDOWN(値,1)
・切り上げの場合、小数点第3位を切り上げだったら、ROUNDUP(値,2)、小数点第2を切り上げだったらROUNDUP(値,1)

実際の値で説明すると
・1.2545を四捨五入の場合、小数点第3位を四捨五入だったら、ROUND(1.2545,2)=1.25、小数点第2位を四捨五入だったら、ROUND(1.2545,1)=1.3
・1.2545を切り捨ての場合、小数点第3位を切り捨てだったら、ROUNDDOWN(1.2545,2)=1.25、小数点第2位を切り捨てだったらROUNDDOWN(1.2545,1)=1.2
・1.2545を切り上げの場合、小数点第3位を切り上げだったら、ROUNDUP(1.2545,2)=1.26、小数点第2を切り上げだったらROUNDUP(1.2545,1)=1.3
知っておくと便利なのが、小数点以下を切り捨てのINT(値)。例えば、INT(1.23)=1、INT(1.9)=1。

時間の取り扱いも注意が必要です。ちょっと長文になるので時間についての解説は割愛します。

板金工場ネットワーク障害

2011/2/7 15時過ぎ 首藤君から板金工場でP-ViBaが見られないと第一報。

1) 事務所の私のPCから板金工場の全部のPCへexpingを使用してpingをしても応答が無い。個々の障害ではなく、基幹ネットワークの障害であることを確認。

2) 現場に駆けつけた首藤君からは板金工場のSW HUBの電源の再投入を行い、VDSLはLEDが点滅しているとの報告が有り、機器は正常に機能しているものと仮定。普通、異常な状態になったら、LEDが高速に点滅したり、点灯したままになる事が多い。

3) 首藤君にPCのIPアドレスを確認してもらったら、正規のIPアドレスではなく、169から始まる不正なIPアドレスだった。

4) SW HUBやVDSLのLEDが点滅していることから、一時的なネットワーク障害によりDHCPサーバーとの通信が長時間途切れ、IPアドレスのリリース期間が切れて、IPアドレスが不正なものになっているものと思い、IPアドレス再取得コマンドを実行してもらったが、それでも不正なIPアドレスのままだった。

5) 念の為、VDSLの電源を再投入してもらい、本館事務所のVDSLも電源を再投入したら正規のIPアドレスが割り振られ、PCが正常に機能した。

原因は、VDSLのどちらかの装置が異常な状態になったものと思われる。今までにこんな現象が発生したことはなかった。

本日、日本通信工販と打ち合わせをし、難航している資材事務所と板金工場間の無線LAN工事を一時保留し、代替方法として機械場のSW HUBから板金工場へSW HUBを使ってUTPケーブルを延長し、板金工場のSW HUB迄ネットワークを接続する方法をとることにした。工事は2月16日(水)に行う。ネットワークが開通後、無線LANの機器を初期化し、障害切り分け作業を実施することとした。無線LANが開通後、UTPケーブルは撤去する。

使用したコマンド
3) IPアドレス確認 ipconfig /all
4) DHCPサーパーよりIPアドレス再取得 ipconfig /renew
   場合によってはIPアドレス解放 ipconfig /releaseを行った後の方が良い場合が有る。