アフィリエイト広告を利用しています

2017年07月27日

InstrとReplaceで時間処理

データ登録画面に、ある業務にかかった時間を登録する欄があり、単位は分です。入力チェックを行っていなかったので多くの自由なデータが集まり、困っています。その一部です。

3時間
3時間1
3hr37
399.99999999999989
391
39.000000000000021
388
2時間58
2時間58分
2:58分
20
0:33分
0:33
0:33:30
4:03:00
403
2時間58分
4:59
4:45:00

これらを分数に換算するプログラムを作成

流れ
前処理  hr を"時間"に置換、Trimで空白を除去
@1つ目の : を "時間" に置換
A2つ目の : を "分”に置換
B小数点以下は削除
C"分"とその後ろの秒を削除
D"時間"を含むかどうか判定
 含まないときは分数とみなし、そのまま返す。 例 30分
 含むときは"時間"の後ろにデータがあるかどうか判定
  データがないときは、"時間"の前の数値に60をかけて返す。 例 2時間
  データがあるときは、"時間"の前の数値に60をかけ、後の数値を加算して返す。 例 2時間15  

何とか、うまくいきました。後日、プログラムを掲載します。


Instr関数 ある文字列を別の文字列の中から探し、最初に見つかったものが何文字目にあるのか(何文字目から始まっているのか)を表す値を返します。見つからなかった場合は、0を返します。


参考
http://www.office-kitami.com/lesson/afunction/instr.html
http://www.accessdbstudy.net/entry/20101019/p1

この記事を書いたとき、実行した結果を書かないと意味がないと思った。しかし、今日たまたま、Instr関数を使う機会があり、この記事を書いていたおかげで、関数の引数をググることなく記述できた。ブログが自分の役にたってうれしい。次は、読む人に喜んでもらいたい。
タグ:Instr関数

posted by db-engineer at 10:05 | Comment(0) | Access、Excel

この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/6512438
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
検索
最新記事
カテゴリーアーカイブ
プロフィール
db-engineerさんの画像
db-engineer
プロフィール
タグクラウド