No.1ベストアンサー
- 回答日時:
アクセスのことは全然わからんのですが、
割り算の余りをもとめる、とか、
小数点以下を切り捨てた値を求める、という関数や、
変数などはありますか?
あれば、わりと簡単な計算でできます。
t1=930 (または、2215)
とすると、
h1 = 小数点以下切り捨て関数(t/100)
m1 = あまりを求める関数(t,100)
のような計算をすると、
hに9が、mに30が入ります。こうすると、
t1=h+m/60
でt1が9.5になります。
2215の方も同様の計算で t2=22.25 になります。
こうなれば、普通の引き算 t2-t1 で12.75が出せます。
No.5
- 回答日時:
No.2さんWrote
> Private Function ....
>
これだと、別モジュールから呼び出せません。
> クエリ、VBAなどで使用できます
>
という趣旨なら、Publicスコープの方がよろしいかと・・・。
(2バイト文字の関数名というのも如何なものかと・・・)
> '時刻補正(次の日か?次の日だったら一日追加)
> If wEtime <= wStime Then wEtime = wEtime + 1
日付の情報がない限り、wEtime = wStime のときを同時刻と解釈してゼロを返すか、翌日と解釈して24(または翌々日以降と解釈して24の倍数)を返すか判断できないと思いますが、どうでしょうか?
No.3さん、端数処理で演算誤差が出るようで、
?fnc("2215", "0930") → 11.7666666666667
となります。
(「自信あり」とのことですので、私の方が間違えているのかもしれませんが・・・)
No.4さんWrote
> =Hour(TimeSerial(Int(2215 / 100) - Int(930 / 100), (2215 Mod 100) - (930 Mod 100), 0)) + Minute(TimeSerial(Int(2215 / 100) - Int(930 / 100), (2215 Mod 100) - (930 Mod 100), 0)) / 60
Intより\演算子の方がたぶんベターです。(この場合、オペランドが長整数を超えることはないはずなので)
= Hour(TimeSerial((2215 \ 100) - (930 \ 100), (2215 Mod 100) - (930 Mod 100), 0)) & ":" & Minute(TimeSerial(Int(2215 / 100) - Int(930 / 100), (2215 Mod 100) - (930 Mod 100), 0))
とすれば、"hh:nn"形式の文字列に変換する手間が省けると思います。
ちなみに、私なら、
Public Function GetTimeDiff(Stime As Integer, Etime As Integer) As Date
GetTimeDiff = CDate(Format$(Etime, "@@:@@")) - CDate(Format$(Stime, "@@:@@"))
End Function
または、
Public Function GetTimeDiff(Stime As Integer, Etime As Integer) As String
GetTimeDiff = Format$(CDate(Format$(Etime, "@@:@@")) - CDate(Format$(Stime, "@@:@@")), "hh:nn")
End Function
とします。
(処理速度面では難があるかもしれませんが、記述が簡明です)
No.4
- 回答日時:
=Hour(TimeSerial(Int(2215 / 100) - Int(930 / 100), (2215 Mod 100) - (930 Mod 100), 0)) + Minute(TimeSerial(Int(2215 / 100) - Int(930 / 100), (2215 Mod 100) - (930 Mod 100), 0)) / 60
になると思います。(VBAを使うことの程でもないと思いますが・・・)
使用する状況が解らないので、数字をそのまま使いました。
No.3
- 回答日時:
こんな感じの関数を使用してはどうでしょう。
Function fnc(t1 As Integer, t2 As Integer) As Double
Dim M As Integer
Dim H As Integer
H = Int(t1 / 100) - Int(t2 / 100)
M = (t1 - Int(t1 / 100) * 100) - (t2 - Int(t2 / 100) * 100)
If (M < 0) Then
M = M + 1
H = H - 1
End If
fnc = H + M / 60
End Function
No.2
- 回答日時:
お疲れ様です
下記コードをモジュールに貼り付けます
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Private Function 経過時間算出(Stime As String, Etime As String) As Single
Dim wStime As Date
Dim wEtime As Date
Dim wMinutes As Long
'計算対象時刻取得
wStime = CDate(Mid(Stime, 1, 2) & ":" & Mid(Stime, 3, 2))
wEtime = CDate(Mid(Etime, 1, 2) & ":" & Mid(Etime, 3, 2))
'時刻補正(次の日か?次の日だったら一日追加)
If wEtime <= wStime Then wEtime = wEtime + 1
'差分の分算出
wMinutes = DateDiff("n", wStime, wEtime)
'経過時間の算出
経過時間算出 = (wMinutes \ 60) + ((wMinutes Mod 60) / 100)
End Function
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
使い方は、
経過時間算出("2215","0930")
クエリ、VBAなどで使用できます
参考になれば...
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(法律) 有給金額の計算について 5 2023/06/23 17:44
- Excel(エクセル) エクセルの関数に関しての質問です。 5 2022/10/07 11:17
- 労働相談 有給休暇使用時の賃金の計算方法について 5 2022/04/04 00:02
- Excel(エクセル) SUMIF関数について 4 2023/06/14 13:13
- Excel(エクセル) Excel 数行を1組とする300組ほどあるデータの項目を揃えたいです。 3 2023/01/26 19:38
- その他(Microsoft Office) 勤務表のエクセル作成で数式を教えてください。 1 2023/01/17 03:27
- その他(Microsoft Office) ある表(10桝程度)の中に数字が入っています。ダブっている数字を除く数字の合計数の計算方法 5 2023/02/15 11:33
- その他(開発・運用・管理) 時間給の計算方法をお教えください 2 2022/06/01 12:21
- その他(占い・超常現象) デジタル電波時計が 7 2023/03/12 09:49
- Excel(エクセル) 表計算ソフトcalcにおいて、1時間10分を1.1と表記する方法とそれらを集計する方法は? 4 2022/04/06 16:54
このQ&Aを見た人はこんなQ&Aも見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
[MS Access]クエリで変換 hhmm(数値型)⇒hh:mm(日付/時刻型)
その他(Microsoft Office)
-
Accessの数値から時間に変換する時点で困っています。
その他(データベース)
-
アクセスのクエリで秒→時間、時間→秒に変換したい
Access(アクセス)
-
-
4
ACCESSの時間帯の抽出について
その他(Microsoft Office)
-
5
ACCESSの24時間以上の表示について
その他(Microsoft Office)
-
6
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
7
ACCESSの時刻の引き算
Access(アクセス)
-
8
クロス集計クエリの結果をテーブルにしたい
Access(アクセス)
-
9
Access2007の日付/時刻型フィールドで、時を二桁にする書式
Access(アクセス)
-
10
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
11
Accessにて24時を越えた場合の表示
その他(データベース)
-
12
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
13
Accessの条件付き書式設定で、複数の条件が一致した時の書式を設定したい
その他(Microsoft Office)
-
14
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
15
YES/NO型の値
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
60進法の考え方
-
週の数え方が未だに曖昧です。
-
数字の数え方について
-
循環小数の問題です。
-
500メートルは徒歩何分ですか?
-
パソコンソフトや音楽データは...
-
免許証の更新手数料は経費にな...
-
飲食代の交際費は誰と行ったか...
-
建設連合の組合費について 確...
-
インボイス もらった適格請求書...
-
会社の経費で社長の車を購入し...
-
行政書士登録時の費用の仕訳
-
外注費が買掛金か未払金か
-
自宅を事務所にしている場合の...
-
運送業において運転免許更新料...
-
按分後の端数を求めたい
-
賃借対照表の土地の価格につい...
-
按分の考え方(端数をどこに配...
-
タイムシェア物件について
-
社用車のタイヤ交換の経費について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
週の数え方が未だに曖昧です。
-
数字の数え方について
-
60進法の考え方
-
アクセス上で4桁の数字を時刻と...
-
500メートルは徒歩何分ですか?
-
[Excelの時刻計算]秒の切捨て
-
進捗率の計算方法を教えてくだ...
-
444円の千円未満切り上げにする...
-
年率発生率の計算方法を教えて...
-
切り上げた数値を元に戻すには
-
割合計算
-
利回り計算の公式、分解の仕方
-
実質年率の計算方法を教えてく...
-
倍率の計算式
-
四分計れる砂時計と七分計れる...
-
パソコンソフトや音楽データは...
-
飲食代の交際費は誰と行ったか...
-
免許証の更新手数料は経費にな...
-
建設連合の組合費について 確...
-
外注費が買掛金か未払金か
おすすめ情報