サラリーマンのすらすらIT日記

IT関連を中心とした日々を綴ります。
--/--/--

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
2010/08/07

テンキーで時刻を入力する方法を試行錯誤した-その1

昨日、ある人から「Excelの表にテンキーで時刻を入力しようと思って、時と分の区切りのコロン「:」がテンキーにないので、どうしようかと思って考えたあげくオートコレクトを使いました」と言われました。オートコレクトと言っても私がよく知らないので、その人に教えていただきました。



Excel2000だと「ツール」メニューにオートコレクトがあり、入力した文字の変換を自動的にやってくれるというもの。デフォルトの設定には、英単語の2文字目を小文字にする、文の先頭文字を大文字にするなどが入っています。件の人は修正文字列に「ピリオド」、修正語の文字列に「コロン」を設定したとのこと。つまり8.05と入力すると、8:05の時刻入力になるので、テンキーだけで時刻入力ができるようになったというわけです。これには感心しました。私には思いつかない方法です。私の場合そもそもオートコレクトを知らなかったわけですし。

ただし問題があります。件の人曰く「この方法の難点は、Excelを使ったすべての小数点入力がコロンに変換されて時刻入力になってしまうこと。本当に8.05という小数を入力したい時は、このオートコレクトを解除しないといけないのが面倒」ということです。確かにその通りです。

何かいい方法はないかと思って私が考え出したのが、「セルの書式設定」。ユーザー定義で「#0":"00」と設定する方法です。こうしておいて805と入力すると、8:05となるわけです。これだとテンキーだけで入力できますし、このように「セルの書式設定」をしたセルだけに適用されるので、前述の問題は起こりません。



しかしこの方法も問題があります。表示上は8:05でも実際の値は805という単なる整数。つまり時刻の演算を普通になってもダメということです。今回の場合、タイムカード打刻時間の管理ということなので、出退勤時刻の入力とそれらから勤務時間を算出するという計算式が必要なので、例えば

出勤 退勤 勤務時間
8:30 17:00 8:30

となるべきところが、

出勤 退勤 勤務時間
8:30 17:00 8:70

となってしまいます。つまり勤務時間の計算式に退勤時刻-出勤時刻と入れたのでは10進法の計算となってうまくいきません。なので、私が提案した方法は「下2桁を比較して退勤の方が小さければ引き算した後40を引く」というもの。つまり

=IF(MOD(B1,100)>=MOD(A1,100),B1-A1,B1-A1-40)

とすればいいわけです。これには件の人も感心してくれました。

しかし、これにもまだ問題があります。

(長くなるので、明日に続きます)
スポンサーサイト

コメント

コメントの投稿

  • URL
  • コメント
  • パスワード
  • 秘密
  • 管理者にだけ表示を許可する

トラックバック

トラックバックURL:http://sookibizviz.blog81.fc2.com/tb.php/549-5620705a

■  カレンダー

07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -

■  プロフィール

sookibizviz

Author:sookibizviz
仕事の内容やソフトの紹介を交えながら、日々の悪戦苦闘を綴っていきます。

■  最新記事

■  最新コメント

■  最新トラックバック

■  月別アーカイブ

■  カテゴリ

未分類 (64)
BizViz (24)
IT (1119)
計量 (76)
環境 (26)
数学 (181)
ニュース (46)
本 (187)
音楽 (113)
囲碁 (5)
将棋 (26)
ブログ (14)
日記 (19)

■  FC2カウンター

■  検索フォーム

■  RSSリンクの表示

■  QRコード

QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。