• 締切済み

EXCELの文字入力について

タイムカードによる給与計算をしています。人数が多くて時刻を入力するのに『:』を打つのが面倒です。 1435と入力すれば14:35と自動的に『:』が入る方法があれば教えてください。

みんなの回答

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.6

こんばんは! 数値を入力したセルそのものが時刻表示になるのがご希望ですよね? VBAになってしまいますが、一例です。 とりあえずA列に数値を入力するとしています。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストして、A列に数値を入力してみてください。 Private Sub Worksheet_Change(ByVal Target As Range) 'この行から Dim str1, str2 As String If Intersect(Target, Columns(1)) Is Nothing Or Not IsNumeric(Target) _ Or Selection.Count <> 1 Then Exit Sub str1 = Int(Target / 100) str2 = Target Mod 100 If Target > 2401 Or str2 > 59 Then MsgBox "入力値が不正です。" Target.Select Selection.ClearContents Exit Sub Else Application.EnableEvents = False With Target .Value = str1 & ":" & str2 .NumberFormatLocal = "hh:mm" End With Application.EnableEvents = True End If End Sub 'この行まで ※ 他の列(仮にB列)であれば上記コード内の >Intersect(Target, Columns(1)) の Columns(1) を > Columns(2) のように変更してみてください。 ※ シリアル値で表示するようにしていますので、給与計算にそのまま利用できると思います。 参考になりますかね?m(_ _)m

  • kichi8000
  • ベストアンサー率41% (658/1581)
回答No.5

A1のユーザー書式設定で(表示のみで入力数値はそのまま) 00!:00 作業セルとして、B1でシリアル値に変換(計算時にはこのセルを参照) =TIMEVALUE(TEXT(A1,"0!:00"))

  • Cupper-2
  • ベストアンサー率29% (1342/4565)
回答No.4

どうしても 1435 と入力したいのであれば セルの書式設定で 00:00 とでも設定しておき 計算側で処理をしましょう。  TIMEVALUE(TEXT(A1,"00:00")) とでもして時間に直した後計算。 …凄く煩雑になるのでお勧めはしません。 たぶん時間計算の式が一目で判断できないくらい複雑に見えちゃいますよ。 (ってことは間違いがあっても気がつかない可能性があるので…お勧めしないんです)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

お示しの数値を入力してそれを時間表示のようにするのでしたらそれらのセルを選択したのちに右クリックして「セルの書式設定」から「表示形式」の「ユーザー定義」で種類の窓には 00!:00 と入力してOKします。 これは何なる時刻もどきの表示であって計算にはそのままの形では使うことができません。 仮にA1セルの表示をそのようにして時刻の形で使うのでしたらB1セルに次の式を入力してセルの表示形式を時刻から選びます。 =TIME(LEFT(A1,2),RIGHT(A1,2),0)

  • chonami
  • ベストアンサー率43% (448/1036)
回答No.2

私もお勧めしません。 オートコレクトで「..」を「:」に変換できるようにしておくと楽です。

  • Cupper-2
  • ベストアンサー率29% (1342/4565)
回答No.1

自分はその方法はお勧めしない。 自分なら   14..35 と入力して、あとから「置換」を使い 「..」を「:」に変換する。 そのほうがシートに無駄な情報(マクロや関数)を加えずに済むんだな。 なお、この回答は見栄えをよくするため全角文字で入力していますが、 実際には半角文字で入力しましょう。 (テンキーでの入力が楽ですよ)

関連するQ&A

  • エクセル 数字を入力すると

    エクセルに数字を入力すると自動的に文字がでるようにするには? 例えば、人数を計算する際、 30、20、10と入力をすると 自動で 30人、20人、10人と文字がでるようにする どうすればよいのでしょうか。

  • エクセル 時間を.(ドット)で入力するには?

    エクセル 時間を.(ドット)で入力するには? 給与計算のなかで、時刻の入力があります。 その入力方法で、表示形式は時刻(h:mm)のままで「8:30」を「8.30」と入力する方法はないでしょうか? 8:30を8.5と入力するのではなく、記号:のみ.に代替えできないか?ということです。 実はマクロのわかる方と給与計算ソフト(エクセル)を作成しているのですが、私が「テンキーのみで時刻入力ができたほうが良い」と提案したところ「マクロでどうこう出来る問題ではない。: の入力がそんなに難しいのか?右手でテンキーを使うなら左手を : の所に置いて居れば良いじゃないか?」と言われました。しかし実際に下のサイトを見つけ、出来なくはないのではないか?と思っております。 http://www009.upp.so-net.ne.jp/naminami/ 彼曰く 0:00 は24を掛ける事で数値になります 現状は 時刻表示を数値に換算してから計算していますから マクロを変えれば数値で入力されても可能ですが 問題は時刻を数値で表示するのは結構難しいのです 例えば 2:30 を必ず 2.5と入力して呉れますか 翌日の 3:00はどの様に記入されますか? そうした事を勘案すると 作業者の日報の通り(時計の通り) 1:30 とか 1:15 と 入力する方が楽なのです というのです。 私は、マクロの知識がないので強くいうことができないのですが、やはり無理なのでしょうか? 長文で申し訳ありません。 ここまで読んでくれただけでもありがたいですが尚、回答いただければ本当に感謝です。 よろしくお願いいたしますm(__)m

  • Excelでの時刻入力

    初めて質問を投稿します。 私は仕事でよくExcelを使うのですが、 Excelで時刻入力する際、通常は”15:00”というように入力しますが、 時刻の入力数が多過ぎて、毎回わざわざ”:(コロン)”を入れるのに手間がかかってます。 ”1500”と入力するだけで時刻を入力できる方法ってあるんでしょうか? その入力した時刻データを使って、別セルに関数で計算をさせてるんですが、 シリアル値で入ってないと当然計算ができないので困ってます。 セルの書式設定とかでどうにかできたりするんでしょうか? いい方法をご存知の方、どなたか教えて頂ければ嬉しいです。

  • エクセルの時刻入力で、15分単位に変換したい

    エクセルにタイムカードの時刻入力をしたいのですが、 経理上の計算は15分単位で行っている為、以下が可能か どうか教えて下さい。 実際の打刻時間(12:17等)を入力して、 経理上の単位(12:15等)に変換させたい。 ご存知の方いらっしゃいましたらご教示下さい。 宜しくお願いします。

  • エクセルでタイムカード

    こんにちは! タイムカードの時間計算が面倒なので、エクセルで計算したいと思っています。 10:15~18:15までが勤務時間で、休憩45分で 7時間15分の労働時間です。 セルごとに『10』:『15』、~『18』; 『15』 等入力すると、7時間15分= を7.25時間として表示し、 また、残業あるときには、時間内勤務の30分後からカウントして計算したいのです。 18時15分の30分後 の18時45分からの残業15分毎に(0.25時間)で残業時間として自動的に計算できるようにしたいのです。 (19:15分なら30分残業=0.5h) イメージ的には・・・    A   B     C   D    E           F     開始時刻  終了時刻  時間内勤務    残業時間 1  10  15  18  15   7.25h          0h 2  10  15  19  15   7.25h          0.5h 3   9   00  19  00   7.25h          1.5h のA1~D3部分を入力すると、自動的にE・F行が計算されるという形が理想です。 わかりにくい説明だとは思いますが、これができるとすっごく嬉しいんです。 どうぞよろしくお願いいたします!!          

  • タイムカード管理

    エクセルでタイムカードの時刻を直接入力して勤怠を自動計算させるようにしたいのですが、その日ごとに就業時間 が異なるときどのようにすればいいのでしょうか。ちなみに、そのパターンは5つ前後です。

  • エクセルの計算式、入力の件

    エクセル2007を使っています。飲食店の帳簿を作りたいのですが、以前使っていたロータス123の計算式を入力してもNGです。 いくつか質問があるのでよろしくお願いします。 (1)B1~B10までにお客様の名前を入力し、B12でその日の組数が「3組」のように組の文字が入った計算式の入力。 (2)D1~D10までに数字だけの人数を入力し、D12でその日の人数が「3名」のように名の文字が入った計算式の入力。 (3)Eの列に支払い方法(現金・カード・売掛)を入力し、Fの列に金額を入力します。別の枠にその日の現金合計額、売掛合計額が出る計算式の入力。 以上の3点ができません。説明が下手ですいません。 よろしくお願いします。

  • エクセルの表計算の式

    金額計算の表を作成しています。 顧客の個人か団体で計算の仕方が違うのでいい方法がないか教えていただきたいのですが。 使用場所 開始時刻 終了時刻 利用時間 人数 単価 料金 区分 といった具合に項目がありまして、使用場所には『大部屋』か『個室』かが入力されます。 【終了時刻-開始時刻=利用時間】と計算式を入力してます。 【利用時間×単価=料金】です。 使用場所が大部屋で、区分が団体の場合の料金はこれで計算できるのですが、大部屋を個人で利用のときは【利用時間×人数×単価】としたいです。 そこで、区分に個人と入力された場合に料金のセルに入ってる式を【利用時間×人数×単価】に切り替える方法をお教え下さい。

  • EXCELでの条件判定について

    EXCELで出退勤の記録を取る為に表を作っているのですが、 J「出勤時刻」K「退勤時刻」L「残業」としたとき 「残業」時間を求める為にK列に =(K9-J9-TIME(1,0,0))-TIME(8,0,0) <…L9の場合 という式を作ったのですが、 休日などで出勤・退勤時刻が入力されていないときに LのCELLに「####」と表示されてしまいます。 これを表示させないため、KやJに時刻が入力されていない場合(それぞれのCELLには「:」のみ入力されている)、LのCELLに「.」を表示し、両方に時刻が入力されていた場合には上記計算式の解が表示されるように =IF(OR((J9=":"),(K9=":")),".","=(K9-J9-TIME(1,0,0))-TIME(8,0,0)") という式を入れたのですが、今度はJ、Kが入力されているときに残業算出の計算式がそのまま表示されるようになってしまいました。 時刻が入力されていた際には計算式の解がLのCELLの中に入力されるようにするには一体どのような判定式を記述すればよろしいのでしょうか?おわかりになられる方がいらっしゃいましたら教えて下さい。よろしくお願いします。

  • Excelでの時間計算

    Excelでタイムシートを作成することになりました。    A       B       C       D      1  入社時刻  退社時刻  休み時間  在席時間 で、用紙の下に何時間何分か表示されるという感じで作りたいと思います。 この際、『D』に関数を入れて自動で計算したいのですが、 どのような式を入れたらよいでしょうか? 又、『A』には9:00と入れても計算できるのでしょうか? 5分刻みで入力したいので、どのようにすればよいかアドバイスお願いします。       

専門家に質問してみよう