Memasukkan data Waktu dalam format excel dalam mm: dd (tanpa awalan 0: untuk jam)


16

Saya ingin memasukkan data waktu ke lembar excel dalam format mm: ss. Masalahnya adalah - bahwa meskipun format sel adalah mm: ss, jika saya memasukkan data seperti ini:

12:33 nilai aktual yang disimpan adalah 12 jam dan 33 menit. jika saya ingin 12 menit dan 33 detik, saya harus memasukkan 0:12:33

Apakah ada cara untuk membuat sel menerima 12:33 sebagai mm: ss?


2
Untuk menampilkan menit yang lebih besar dari 59, format sel sebagai [MM]:SS. Seperti: 02:10:45kemudian akan ditampilkan sebagai 130:45gantinya. Tetapi ternyata itu tidak bekerja untuk input.
Arjan

Jawaban:


6

Waktu dimasukkan secara universal dalam Jam: Menit: Format detik, jadi Anda tidak dapat mengubah format entri ini. Anda jelas dapat mengubah format tampilan, tetapi sayangnya Anda harus mematuhi format entri.


sepertinya tidak ada solusi untuk masalah saya, karena bahkan menggunakan skrip tidak akan membantu, karena pemformatan menutupi apa yang sebenarnya diketik pengguna.
Dani

Jadi, apakah format universal hh:mm:ssatau h:mm:ss? @Steve
Shayan

Saya akan mengatakan itu adalah h:mm:ss@Shayan
Steve

14

Seperti dijawab oleh Steve , Excel menafsirkan input pengguna 12:33sebagai 12h33m. Anda tidak bisa mengubah perilaku ini tentang bagaimana Excel menerima input pengguna.

Seperti yang Anda sebutkan di komentar, pengguna akan memasukkan 12:33tetapi berarti 12m33s.

Berikut ini solusi untuk mendapatkan nilai yang benar untuk perhitungan.

  1. Format sel A1 (input pengguna, mis. 12:33) Sebagai[h]:mm
  2. Masukkan rumus =A1/60di sel B1
  3. Format sel B1 sebagai [m]:ss

Nilai yang ditampilkan harus sama dalam A1 & B1. Namun, B1 akan menjadi nilai aktual yang Anda inginkan .


2
Bagus. Atau: memformat input sebagai nilai string / teks, dan menggunakan sesuatu seperti TIMEVALUEuntuk mengubahnya .
Arjan

1
Nilai yang ditampilkan dalam A1 & B1 tidak sama jika mm> 23
Alaa M.

1
@AlaaM. terima kasih atas penemuan anda. jawabannya diperbarui untuk memperbaiki masalah. gunakan [h]dan[m]
wilson

3

Ada solusinya! Tempatkan kode VBA ini dalam modul lembar kerja Anda, yaitu:

  1. Buka Editor Visual Basic ( Alt- F11)
  2. Di treeview kiri atas, klik dua kali pada lembar Anda ingin memasukkan waktu Anda
  3. Di panel kode pusat, tempatkan kode di bawah ini.
  4. Tutup VBE

Gunakan kode ini:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Value < 0 Or Target.Value > 1 And Target.NumberFormat <> "h:mm" Then Exit Sub
    Application.EnableEvents = False
    Target.Value = Target.Value / 60
    Target.NumberFormat = "mm:ss"
    Application.EnableEvents = True
End Sub

Jika Anda sudah memformat rentang tempat Anda memasukkan data, gunakan baris ini sebagai baris pertama:

If Target.Value < 0 Or Target.Value > 1 Then Exit Sub

Perhatikan bahwa ini akan mengubah nilai dan format - setiap kali Anda memasukkan waktu - atau sesuatu antara 0 dan 1! Jika Anda ingin membatasi ke kolom tertentu, tambahkan baris ini:

If Target.Column <> 3 Then Exit Sub

atau baris ini untuk membatasi ke kisaran tertentu

If Intersect(Target, Range("A2:A100") Is Nothing Then Exit Sub

2

Cara termudah untuk berolahraga berjam-jam selesai

Memformat Sel (A1) hh:mm

Masukan seperti biasa ( 07:22)

Memformat Sel (B1) hh:mm

Masukan seperti biasa ( 16:00)

Memformat Sel (C1) h:mm

Masukkan semua data ke dalam sel (C1) berikut ini: =(A1+B1)/60


1

Sorot sel / kolom yang Anda inginkan sebagai Durasi, klik kanan pada mouse untuk "Format Sel". Buka "Kustom" dan cari "h: mm" jika Anda ingin memasukkan durasi dalam format jam dan menit. Jika Anda ingin memasukkan detik juga, klik "h: mm: ss". Anda bahkan dapat menambahkan total durasi setelah itu.

Semoga ini membantu.


1

Saya menemukan yang terbaik untuk memasukkan menit di kolom A lalu detik di kolom B. Kemudian Anda bisa menjumlahkan kolom. Semua sebagai format angka normal.

Berikutnya, konversi detik> 60 ke menit dengan membagi jumlah dalam kolom B dengan 60 dan menambahkan INT ke Jumlah Kol A dan meninggalkan MOD sisanya dalam kolom B.

Sebagai alternatif, Anda dapat memiliki col C sebagai angka desimal dengan memiliki rumus = (A1+(B1/60))akan memberikan menit desimal. Di bagian bawah Kol C lakukan penjumlahan, kemudian aplikasikan rumus untuk mengubah bagian desimal kembali ke Detik sebagai berikut katakanlah di C22mana penjumlahan dipegang kemudian dalam C23rumus enter =MOD(C22,1)*60.

Sekarang A23masukkan formula =INT(C22)untuk menampilkan Total menit termasuk dari jumlah di C22.


1

Saya memiliki masalah yang sama dan inilah solusinya: Masukkan rumus menggunakan TIMEfungsi, yang membuat matriks waktu =TIME(H,M,S)dan memformatnya sesuka Anda. Anda masih harus memasukkan 0 jam setiap kali karena matematika tetapi ini membuat semuanya jauh lebih bisa diterapkan.


0

Solusi di atas. Saat menggunakan h:mmformat, excel tidak akan membiarkan Anda pergi di atas 23. Tambahkan tanda kurung ke jam dalam format [h]:mmAnda dan Anda bebas untuk pergi di atas 23.

Untuk menghitung nilai dalam hitungan detik, atur sel ke format angka "umum" dan kemudian ketik rumus berikut

=HOUR(A1)*60+MINUTE(A1)
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.