具体的に、どういうセル(例えばどういう書式設定とか)にどう入力して
どういうエラーが出たのか書いて下さい。
それと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
以上、ご参考まで。
"ooko" <oo...@microsoft.com> wrote in message
news:1D721FB9-E741-47B1...@microsoft.com...
> ご返事ありがとうございます。
> エクセルのバージョンは2003です。
> 書式設定は[hh]:mmとしました。
> 9000:00までは、入力できるのですが 10000:00時間以上の時間を入力すると文
字列として認識してしまうようで
> 加算計算をするとVALUE!と出てしまいます。
> 全従業員の労働時間の計算をしたく、20000時間程度のセルを6ヶ足し算したいの
です。
> どうぞよろしくお願いします。
> アドレスの設定のルールがよくわかりませんのでアシカラズ。
>
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/
おっしゃるように、書式では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などニュースリーダーを
#使用願います。その方がずっと快適に閲覧できますのでご検討ください。
--
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形式の制限に無関係となります。
要は、分の単位も時間単位で計算し最後に元に戻すこと。
これがもっともやりやすいのでは。。
すがさわ
"Funatsu Kunihiro" <nospam...@netscape.net> wrote in message
news:opr78ij1...@msnews.microsoft.com...