Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: 10000時間以上の時間の計算

1,156 views
Skip to first unread message

y sakuda

unread,
May 17, 2004, 6:49:51 AM5/17/04
to
"ooko" <anon...@discussions.microsoft.com> wrote in message news:F6D8D237-8AF3-49E7...@microsoft.com...
> 1万時間以上の時間の入力をしようとするとエラーになってしまいます。
> 解決方法を教えてください。

具体的に、どういうセル(例えばどういう書式設定とか)にどう入力して
どういうエラーが出たのか書いて下さい。
それとExcelのバージョンは必ず書いて下さい

Excelの時間というのは、基本的には、n年m月k日の何時何分という時間ではなく、時刻を
表現する機能になってますので、何千時間とか何万時間という処理は通常の数字として
取り扱う方がベターだと思います。
これは一般論ですけど・・・・
ですから、具体的になにをやりたいかを示せば、代替手段を示す方も出てくると思いますので
よろしく。
--
メイルアドレスは変えて下さい。anonymousのままはルール違反です。
ニュースグループの購読にはOutlook Express などのニュースリーダーを
使用してください。
下記のサイトをご覧下さい
http://www.microsoft.com/japan/support/newsgroup/faq/q3.asp
http://www.microsoft.com/japan/support/newsgroup/grouplist.asp

sugasawa

unread,
May 19, 2004, 1:38:45 AM5/19/04
to
私の環境(Xp+2002)では、の話なので、外していたらごめんなさい。
1.手入力ではなく、数式の結果が1万時間以上である場合、文字列としては認識し
ません。
2.シリアル値で入力すると、9999/12/31 23:59:59までを時間換算し
た、
 71003183時間59分59秒(2958465.99998843日)までは入力できるよう
です。
ユーザー関数やマクロを使うことによって簡単に処理する方法は多分あるのでしょう
が、
当面の回避策として、1万時間以内の時間を計算した結果を積み重ねて合計に持って
いくか、
(value関数を使うなどして)シリアル値に変えてから計算することで回避でき
ると思います。

以上、ご参考まで。

"ooko" <oo...@microsoft.com> wrote in message
news:1D721FB9-E741-47B1...@microsoft.com...
> ご返事ありがとうございます。
> エクセルのバージョンは2003です。
> 書式設定は[hh]:mmとしました。
> 9000:00までは、入力できるのですが 10000:00時間以上の時間を入力すると文
字列として認識してしまうようで
> 加算計算をするとVALUE!と出てしまいます。 
> 全従業員の労働時間の計算をしたく、20000時間程度のセルを6ヶ足し算したいの
です。
> どうぞよろしくお願いします。
> アドレスの設定のルールがよくわかりませんのでアシカラズ。
>

sugasawa

unread,
May 19, 2004, 1:47:43 AM5/19/04
to
訂正自己レスです。

1万時間以上の時間を入力して文字列として認識されてしまうと、
value関数でもtimevalue関数でもシリアル値にできないみたいです。
勘違いでした。ごめんなさい。

すがさわ

Funatsu Kunihiro

unread,
May 19, 2004, 2:49:03 AM5/19/04
to
On Wed, 19 May 2004 14:47:43 +0900, sugasawa <t-sug...@toshima-glass.co.jp> wrote:
> 1万時間以上の時間を入力して文字列として認識されてしまうと、
> value関数でもtimevalue関数でもシリアル値にできないみたいです。

ということでそれを変換する関数です。エラー処理は一切なし。

Function MyTimeSerial(a As String)
hh = InStr(1, a, ":", 1)
If hh <> 0 Then
mm = InStr(hh + 1, a, ":", 1)
If mm <> 0 Then
MyTimeSerial = (Mid(a, 1, hh - 1) + (Mid(a, hh + 1, 2) + Mid(a, mm + 1, 2) / 60) / 60) / 24
Else
MyTimeSerial = (Mid(a, 1, hh - 1) + Mid(a, hh + 1, 2) / 60) / 24
End If
Else
MyTimeSerial = --a
End If
End Function

--
Funatsu Kunihiro
nospam...@netscape.net
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/

y sakuda

unread,
May 19, 2004, 9:57:56 AM5/19/04
to
"ooko" <oo...@microsoft.com> wrote in message news:1D721FB9-E741-47B1...@microsoft.com...
> ご返事ありがとうございます。
> エクセルのバージョンは2003です。
> 書式設定は[hh]:mmとしました。
> 9000:00までは、入力できるのですが 10000:00時間以上の時間を入力すると文字列として認識してしまうようで
> 加算計算をするとVALUE!と出てしまいます。 
> 全従業員の労働時間の計算をしたく、20000時間程度のセルを6ヶ足し算したいのです。
> どうぞよろしくお願いします。
> アドレスの設定のルールがよくわかりませんのでアシカラズ。
>
こんばんわ。
アドレスの件ですが、Hotmailのアドレスのようですが、到達性のあるものでしたら
問題ありません。
ウィルスメイルなどを避けるための匿名用のアドレスもMSが指定していますので、
そちらを使われてもルールには合致します。(ニュースグループのFAQに出てます)

おっしゃるように、書式ではsugasawaさんも指摘されてますが、計算式ではOK、入力は
だめということのようですね。
私もこれといった解決策を持っていませんが、思いつきですが、参考までに提示させて
いただきます
案1
時間と分を2列に入力
A列     B列
10000    32
20000    56
30000    45

計算結果欄の書式を[hh]:mm として
=(SUM(A1:A3)+SUM(B1:B3)/60)/24

案2 マクロを使います
標準モジュールに下のマクロを貼り付けてください

Function TimeAdd(ByVal pRange As Range)
Dim wCell As Object
Dim wAry
Dim wHour, wMinute
wHour = 0
wMinute = 0
For Each wCell In pRange
wAry = Split(wCell, ":")
wHour = wHour + wAry(0)
wMinute = wMinute + wAry(1)
Next
'結果を計算に使わない場合は↓のコメント行を生かしてください
'TimeAdd = wHour + wMinute \ 60 & ":" & Right("00" & wMinute Mod 60, 2)
TimeAdd = (wHour + wMinute / 60) / 24
End Function

A列に文字型で
10000:32
20000:56
30000:45

結果欄には書式を設定して
=timeadd(A1:A3)
なお、結果を計算に使用しない場合はマクロの最後から3行目の’をはずし
最後から2行目の TimeAdd = (wHour + wMinute / 60) / 24 
の頭に’をつけてコメントにしてください
その場合結果は 文字型で 6002:13 と表示されます

どちらも、あまりエレガントではありませんが、参考まで

#なお、Webからの投稿はエンコードがUTF-8になるなど、不都合が
#多いため、できれば、OutlookExpressなどニュースリーダーを
#使用願います。その方がずっと快適に閲覧できますのでご検討ください。
--

y sakuda

unread,
May 19, 2004, 10:17:24 AM5/19/04
to
"y sakuda" <sakudaya...@hotmail.com> wrote in message news:OZyMLlaP...@TK2MSFTNGP12.phx.gbl...

> "ooko" <oo...@microsoft.com> wrote in message news:1D721FB9-E741-47B1...@microsoft.com...
> こんばんわ。
> アドレスの件ですが、Hotmailのアドレスのようですが、到達性のあるものでしたら
> 問題ありません。
訂正します。
@msn.com と錯覚してました。
oo...@microsoft.com
のような架空アドレスはルール違反です!


Kou

unread,
May 19, 2004, 11:06:59 AM5/19/04
to
> 全従業員の労働時間の計算をしたく、20000時間程度のセルを6ヶ足し算したいのです。
ということでしたら、分の位は15分、30分45分単位であれば

1時間15分+3時間30分なら 1.25時間+3.5時間 で 4.75時間=4時間45分

または、分単位もばらばらであれば

1時間25分+2時間50分なら 1+25/60+2+50/60 = 4+25/60となります

これなら hh:mm形式の制限に無関係となります。

要は、分の単位も時間単位で計算し最後に元に戻すこと。
これがもっともやりやすいのでは。。


sugasawa

unread,
May 19, 2004, 8:03:04 AM5/19/04
to
フォローありがとうございます。
おかげさまで、私も勉強になりました。

すがさわ


"Funatsu Kunihiro" <nospam...@netscape.net> wrote in message
news:opr78ij1...@msnews.microsoft.com...

0 new messages