Excel97でタイムカードの計算をさせるのですが、A列が開始時間で○時○分、B列が終了時間で○時○分とデーターを入れます。C列に△時間◇分と表示されるようにしたいのです.
=HOUR(B1-A1)&MINUTE(B1-A1)までは考えたのですが、△◇と表示されてしまいます。 どうやればCのセルが“△時間◇分”のように表示されるのか分かりません。どなたか教えていただけないでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (2件)

=HOUR(B1-A1)&"時間"&MINUTE(B1-A1)&"分"



で、表示されますが、常に時間と分って表示されますけど、、、

例 A1 1時30分 B1 2時00分 C1 0時間30分
  A2 2時00分 B2 3時00分 C2 1時間0分

それよりも、C1のユーザー定義で、h(或いはhh)時間m(或いはmm)分って
する方が、いいかな?
    • good
    • 1
この回答へのお礼

そうです! これです! ""で囲むのでしたね。 助かりましたありがとうございます。

お礼日時:2001/08/25 20:04

A,B列が時刻形式とすればC列は(C1なら)


 C1 = B1 - A1
表示形式を時刻にします。意味が違った?

 
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qタイムカード代わりになるソフト

フリーソフトで、タイムカード代わりになる、Mac版のソフトはないでしょうか?

私の職場は、深夜残業が毎日にようにあります。というか終業の定時などありません。
そのため朝起きるのがしんどく、毎日、定時に出社できていません。
深夜までやってるので、遅刻は少し許容されているかんじでもありますが、
退職勧奨の理由にされているので、ちゃんと遅刻しないように、自分を戒めるためにタイムカードをつけることを考えました。
(深夜何時までやっているか記録し、必要が出てきたら会社側に提出する意味も若干あります。)

エクセルのようなもので入力する方法もありますが、それだと自己記入ですし、れっきとしたタイムカードになりませんよね?
うまくPCを使ってタイムカードのように使えるソフトを教えてください。

少し調べてみましたが、Windows版は、何かあるようですね・・・。
ちなみに私の職場のMacは、OS10.5 です。
(Windowsインストールは費用がかかってしまうので、考えておりません。)

Aベストアンサー

Excelでも、ボタンを押して記録ということができますよ。
どっちにせよ、タイムカードって自己申告ですよね。
自己管理に使うのなら、どちらも同じように思います。

専用ソフトを使うのも、Excelでマクロを組むのも同じかと思います。
ソフトが見つからなければ、Excelで作ってしまうしかないですね。

QExcel2013 VBA A列とB列の文字をA列とB列とC列に移動させる方法

A列とB列に文字が入っているのですが、下記のようにA列とB列とC列に文字を移動させたいです。
(A列の数字は必ず奇数のA列に入っています。)
VBAのコードを教えて下さい。

例えば
A1 1  B1 cat
A2 空白 B2 猫
A3 空白 B3 dog
A4 空白 B4 犬
A5 2  B5 whale
A6 空白 B6 クジラ
A7 3  B7 rabbit
A8 空白 B8 ウサギ

とデータがある場合

A1 1  B1 cat  C1 猫
A2 空白 B2 dog  C2 犬
A3 2  B3 whale  C3 クジラ
A4 3  B4 rabbit C4 ウサギ

としたいです。

実際、データは、A5196まであります。

Aベストアンサー

No.1です。

>実際、データは、A5196まであります。

前回のコードは一つずつカット&ペーストしていますので
かなりの時間を要すると思います。
↓のコードに変更してみてください。

Sub Sample2()
Dim lastRow As Long
lastRow = Cells(Rows.Count, "B").End(xlUp).Row
Application.ScreenUpdating = False
With Range(Cells(1, "C"), Cells(lastRow, "C"))
.Formula = "=IF(MOD(ROW(),2)=1,B2,"""")"
.Value = .Value
.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End With
Application.ScreenUpdating = True
MsgBox "完了"
End Sub

少しは短縮できると思います。m(_ _)m

No.1です。

>実際、データは、A5196まであります。

前回のコードは一つずつカット&ペーストしていますので
かなりの時間を要すると思います。
↓のコードに変更してみてください。

Sub Sample2()
Dim lastRow As Long
lastRow = Cells(Rows.Count, "B").End(xlUp).Row
Application.ScreenUpdating = False
With Range(Cells(1, "C"), Cells(lastRow, "C"))
.Formula = "=IF(MOD(ROW(),2)=1,B2,"""")"
.Value = .Value
.SpecialCells(xlCellTypeB...続きを読む

Qタイムカードが面倒になった社員の対応。

タイムカードが面倒になった社員の対応。

次のような場合、失業保険の給付は問題なく受給できますか??

(1)定年を過ぎた嘱託契約社員で、以前はタイムカードをまじめに打刻していたのですが、だんだん面倒になって最近は全くタイムカードがありません。当社は就業規則にはタイムカードを使用するように表記されております。

(2)ハロワで使用人兼務役員の認定をされた役員で、以前はタイムカードをまじめに打刻していたのですが、だんだん面倒になって最近は全くタイムカードがありません。当社は就業規則にはタイムカードを使用するように表記されており、兼務役員も就業規則が全項目適用です。

以上の場合で、それらの方々は、退職後に失業保険の給付は受給できますか??

Aベストアンサー

公共職業安定所で離職票の手続きをする際に、賃金台帳と出勤簿が必要です。たいてい、excelで作ってしまいます。タイムカードまで持ってきなさいということではありません。
就業規則を守らない社員がいると、組織の運営上好ましくありませんから、早いうちに是正されるようお勧めします。

QA列とB列の重複を抽出したいのですがA列とB列の値は一部だけ同じ文字です。ご教示お願いします。

エクセル初心者です。重複を見つけるのが仕事です。いろいろやってみたのですがうまくできません。
お知恵をお貸しください。

A列には企業名が入力されています。
B列にも企業名が入力されていますが全く同じ文字ではないのです。

たとえばこういうことです。
A1 (有)雪見酒      B1  雪見
A2 株式会社豪雪地帯   B2 (株)豪雪地帯
A3 ゆきかき本舗     B3 (有)ゆきかき本舗

A列にある企業名とB列にある企業名が同じであればセルを塗りつぶすか○を表示させるように
したいのです。
重複を見つけるのが目的なので、ほかの方法でもかまいません。
すみません、A列のセルとB列のセルが全く同じ名前ならば重複が見つけられたのですが
ここから先がどうしてもわからないのです。。。
申し訳ありませんがどうか教えてください。。。

Aベストアンサー

No4です。以下のマクロを標準モジュールへ登録してください。
--------------------------------------------------
Option Explicit
Public Sub 重複チェック()
Dim maxrow1 As Long
Dim maxrow2 As Long
Dim row1 As Long
Dim row2 As Long
Dim nameT1() As String
Dim nameT2() As String
Dim t1, t2 As Variant
t1 = Time
maxrow1 = Cells(Rows.Count, "A").End(xlUp).row '最大行取得
maxrow2 = Cells(Rows.Count, "B").End(xlUp).row '最大行取得
ReDim nameT1(maxrow1)
ReDim nameT2(maxrow2)
Range("C1:" & "D" & maxrow2).Value = ""
Call makeTable(nameT1, "A", maxrow1)
Call makeTable(nameT2, "B", maxrow2)
For row1 = 1 To maxrow1
For row2 = 1 To maxrow2
If Cells(row2, "C") = "" Then
If Mymatch(nameT1(row1), nameT2(row2)) = True Then
Cells(row2, "C").Value = "○"
Cells(row2, "D").Value = row1
End If
End If
Next
Next
t2 = Time
MsgBox ("チェック完了 処理時間=" & Minute(t2 - t1) & "分" & Second(t2 - t1) & "秒")
End Sub
'余分な文字を削除した結果をテーブルに格納する
Private Sub makeTable(ByRef nameT() As String, ByVal col As String, ByVal maxrow As Long)
Dim row As Long
Dim ary As Variant
Dim name As String
Dim i As Long
ary = Array("㈱", "(株)", "株式", "(有)", "有限", "会社")
For row = 1 To maxrow
name = Cells(row, col).Value
For i = 0 To UBound(ary)
name = Replace(name, ary(i), "")
Next
nameT(row) = name
Next
End Sub
'企業名が一致かどうか判定する
Private Function Mymatch(ByVal name1 As String, ByVal name2 As String) As Boolean
Mymatch = False
Dim pos As Variant
pos = InStr(1, name1, name2, vbTextCompare)
If pos > 0 Then Mymatch = True
End Function
-----------------------------------------------------
一致の精度が悪ければその旨補足してください。
(一致すべきものが一致しない、一致してはいけないものが一致している)
100%解決できる保証はありませんが、多少のチューニングは行います。

No4です。以下のマクロを標準モジュールへ登録してください。
--------------------------------------------------
Option Explicit
Public Sub 重複チェック()
Dim maxrow1 As Long
Dim maxrow2 As Long
Dim row1 As Long
Dim row2 As Long
Dim nameT1() As String
Dim nameT2() As String
Dim t1, t2 As Variant
t1 = Time
maxrow1 = Cells(Rows.Count, "A").End(xlUp).row '最大行取得
maxrow2 = Cells(Rows.Count, "B").End(xlUp).row '最大行取得
ReDim ...続きを読む

Qタイムカードに関して

タイムカードに関して

アルバイトで、約2ヶ月働いております。
月ごとでタイムカードが、更新されることを知りませんでして
数日間分の出勤をタイムカードで証明することが出来ません。

実際に出勤した分を、タイムカードの切り替えのタイミング
切り替わったタイミングが分かりませんでして
押せてません。

店長には報告済みですが・・・
なんだか、嫌な予感がします

Aベストアンサー

こんにちは。

まず、なんとなくですが、今回の件は貴方の懸念は稀有に終わり、きちんと働いた分の報酬は支払われるものと思います。タイムカードの扱いをきちんとしなかった分の口頭でのお叱りはあるかもしれませんが、金銭面でのペナルティは無いでしょうし、【万が一にも金銭面でのペナルティがあったら、それこそ違法な搾取です、労働基準監督署に通報してください】です。

タイムカードで証明できなくても、貴方が実際に働いていることを確認した同僚、客がいるはずです。もちろん店長も。

いや、そんなことさえ抜きにして、貴方が働いたのならば、タイムカード云々は関係なく働いた分の報酬を受け取る権利がありますし、店側には支払う義務があります。それを「タイムカードが押されていないから」といって「勤務の実態がなかった」と言うのは暴論です。

もしも、万が一にも店側が「タイムカードを押してないから給与は支払えない」などと言ってきたら、職場を管轄する労働基準監督署に通報してください。

もしも私ならば、「タイムカードの切り替えを事前に説明していないのは、今回のように実際に働いた分の給与を不正に搾取するために会社側が計画した悪事だったのではないのか? そうでないのならばその証拠を示せ」「タイムカードの切り替えをきちんと私に説明していないのは明らかだが、もしも説明したというのならばその証拠を文書で提出せよ。つか、タイムカードの切り替えを明確に説明していない時点で前述の搾取が意図的に実行されたことが明らかである」「そもそも私が無断欠勤したのであれば、会社側から私に電話で消息の確認などがあったはず。その発信記録を提示せよ」「私はタイムカードのシステムを知らされないままに、入社時に知らされた方法に従って対処をしていた」など、いやもっと厳しく会社側を糾弾し、不払い期間の利子や、不払いで受けた精神的苦痛に対する慰藉料、それとは別に、きちんと働いていたにも関わらす欠勤と評価されたことに対する名誉感情の損失に対する慰藉料、さらに実際に私が働いていたのを現認しつつも出勤していないと断じた店長のあまりにも常識はずれな判断に対する店長への懲戒処分請求を、会社の代表取締役全員に対して内容証明郵便+配達証明で送り付けます。いざこんな事態になってしまったら、会社の手先として嘘をついて私を追い込んでいる店長を少なくとも解雇、出来れば自殺に追い込みます。。。

ま、今回の件はそうなることは無いような気がしますが、万が一そうなってしまった場合、まずは労働基準監督署に申し立てて役所の介入を促してください。

こんにちは。

まず、なんとなくですが、今回の件は貴方の懸念は稀有に終わり、きちんと働いた分の報酬は支払われるものと思います。タイムカードの扱いをきちんとしなかった分の口頭でのお叱りはあるかもしれませんが、金銭面でのペナルティは無いでしょうし、【万が一にも金銭面でのペナルティがあったら、それこそ違法な搾取です、労働基準監督署に通報してください】です。

タイムカードで証明できなくても、貴方が実際に働いていることを確認した同僚、客がいるはずです。もちろん店長も。

いや、そんなこ...続きを読む

Q例えば、AさんからGさんまでがA列に縦に並んでいてB列に数字が入っています。B列にある数字の合計をA

例えば、AさんからGさんまでがA列に縦に並んでいてB列に数字が入っています。B列にある数字の合計をA-Gさん別々に出したいんですが簡単なvbaの記述方法はないでしょうか?
お願いします。

Aベストアンサー

こんばんは!

A列のA~Gさんは複数存在しているのでしょうか?
そうであればSUMIF関数で対応できると思いますが、VBAをお望みだというコトですので
一例です。

元データはSheet1にあり、Sheet2に表示するとします。
尚、Sheet1の1行目は項目行でデータは2行目以降にあるという前提です。
標準モジュールにしてください。

Sub Sample1()
Dim lastRow As Long, wS As Worksheet
Set wS = Worksheets("Sheet2")
wS.Cells.ClearContents
With Worksheets("Sheet1")
.Range("A:A").AdvancedFilter Action:=xlFilterCopy, copytorange:=wS.Range("A1"), unique:=True
lastRow = wS.Cells(Rows.Count, "A").End(xlUp).Row
With Range(wS.Cells(2, "B"), wS.Cells(lastRow, "B"))
.Formula = "=SUMIF(Sheet1!A:A,A2,Sheet1!B:B)"
.Value = .Value
End With
End With
End Sub

こんな感じではどうでしょうか?m(_ _)m

こんばんは!

A列のA~Gさんは複数存在しているのでしょうか?
そうであればSUMIF関数で対応できると思いますが、VBAをお望みだというコトですので
一例です。

元データはSheet1にあり、Sheet2に表示するとします。
尚、Sheet1の1行目は項目行でデータは2行目以降にあるという前提です。
標準モジュールにしてください。

Sub Sample1()
Dim lastRow As Long, wS As Worksheet
Set wS = Worksheets("Sheet2")
wS.Cells.ClearContents
With Worksheets("Sheet1")
.Range("A:A...続きを読む

Qタイムカードと手書きの勤務表

タイムカードの導入はコストがかかるのですか?
私の会社は社員は手書き、派遣社員はタイムカードになっています。
社員分は事務の担当者がエクセルで集計して給与を計算しています。

タイムカードだと残業時間など自動で計算されるのですか?

Aベストアンサー

社員が手書きなのは残業時間を改ざんしてサービス残業をさせるためじゃないですか?

QExcel A列の○日と10時間後をB列に表示

エクセルで質問です。
日付の入ったA列の、○日と10時間後の日付をB列に表示したい場合、どのような式を入れたら良いでしょうか。
例:
A列:2013/4/5 00:00
60日後の、10:00をB列に表示

よろしくお願いします。

Aベストアンサー

=A1+60+10/24

Qタイムカードと出勤簿について

数人の法人で役員以外はタイムカードを押しています。タイムカードや出勤簿は必ず必要だと思っていたのですが、タイムカードではなく手書きやパソコンでの管理でも大丈夫でしょうか?社会保険事務所や労働基準監督署などの調査があった場合タイムカードや出勤簿等に、決まりがあるのか分かる方がいたら教えてください。

Aベストアンサー

出勤簿でもなんでも可能です。
某市役所では、朝ロビーに出勤簿を置いて職員は印をおして執務室に行き、時間がくれば総務担当者が出勤簿を片付けています。

勤務の確認に法的な決まりはなく、各組織体が上司が部下の出勤確認など、組織の都合のよいやり方をしています。

ただ、労働者は、将来のトラブルの証拠集めが必要ならば自分で記録を残すようにしておくことが必要でしょう。

Qエクセル 文字列の○分△秒を ○:△にしたいのですが

エクセルで文字列の 「5秒」を 「00:05」 にしたいのですが、
どのようにすればよいでしょうか?
「12分8秒」という表記もあるので、「12:08」にしたいです。

データは3000ぐらいあり、最終的にはすべてを足すのが目的です。
よろしくお願いします。

Aベストアンサー

A1に文字列が入っているとして、B1のセル書式を「mm:ss」に設定し、以下の式を入れます。
文字列の最後は必ず「秒」がある前提で作っています。
=TIME(0,IFERROR(LEFT(A1,FIND("分",A1)-1),0),IFERROR(MID(A1,FIND("分",A1)+1,LEN(A1)-FIND("分",A1)-1),LEFT(A1,LEN(A1)-1)))
あとはこれを下にコピーでできます。

IFERROR(LEFT(A1,FIND("分",A1)-1),0)
↑文字列から「分」を探し、その前の文字までを取り出し、分がなければ「0」
IFERROR(MID(A1,FIND("分",A1)+1,LEN(A1)-FIND("分",A1)-1),LEFT(A1,LEN(A1)-1))
↑文字列から「分」の後ろから最後の1文字(秒)の前までのを取り出す
上記の2つをTIME関数で時間に変換。


人気Q&Aランキング

おすすめ情報