Masukkan waktu tanpa titik dua (hhmmss) dan hitung perbedaan waktu di Excel


1

Saya ingin memasukkan waktu tanpa titik dua hhmmssdan menghitung perbedaan waktu dengan sel lain. Misalnya saya memasukkan waktu mulai dalam satu sel dan waktu akhir di yang lain. Maka saya perlu menghitung perbedaan waktu. Tetapi harus memasukkan jam, menit dan detik.

Komplikasinya adalah saya ingin memasuki masa-masa tanpa titik dua tetapi melihatnya dengan titik dua dalam sel. Untuk melakukan ini, saya memformat sel dengan format angka khusus 00\:00\:00.


Selamat Datang di Pengguna Super! Kami bukan layanan penulisan skrip. Kami berharap pengguna memberi tahu kami apa yang telah mereka coba sejauh ini (termasuk skrip yang mereka gunakan) dan di mana mereka macet sehingga kami dapat membantu dengan masalah tertentu. Pertanyaan yang hanya meminta skrip terlalu luas dan cenderung ditunda atau ditutup . Silakan baca Bagaimana saya mengajukan pertanyaan yang bagus? .
DavidPostill

Terima kasih banyak atas balasan Anda dan tolong terima permintaan maaf saya tentang cara saya mengajukan pertanyaan saya. Sebenarnya saya ingin memasuki masa tanpa usus besar belum melihatnya dengan usus besar di dalam sel. Untuk melakukan ini, saya memformat sel dengan nilai khusus 00 \: 00 \: 00. Ketika saya melakukan ini, ia kehilangan format waktunya sehingga saya tidak dapat menghitung perbedaan waktu.
Taner Eti

Jawaban:


4

Salah satu opsi adalah menggunakan kombinasi pemformatan sel dengan fungsi Excel TIME .

Format sel input waktu Anda (A2 dan B2 dalam contoh saya) sebagai Text. Format yang diharapkan akan selalu demikian hhmmss, jadi masukkan nol di depan untuk kali dengan jam satu digit. Maka Anda dapat menghitung dengan rumus ini:

=TIME(LEFT(B2,2), MID(B2,3,2), RIGHT(B2,2))-TIME(LEFT(A2,2), MID(A2,3,2), RIGHT(A2,2))

Ini mengambil 2 karakter paling kiri sebagai 'Jam', 2 karakter tengah sebagai 'Menit', dan 2 karakter paling kanan sebagai 'Detik' dan mengubahnya menjadi apa yang Excel akui sebagai waktu. Itu kemudian mengurangi satu dari yang lain, dan menampilkan hasilnya, dengan format hhmmss:

masukkan deskripsi gambar di sini

EDIT: Melihat persyaratannya tidak cukup seperti yang ditentukan dalam pertanyaan, saya telah mengubah rumus untuk memperhitungkan angka nol di depan dengan menambahkannya:

=TIME(LEFT(RIGHT("000000"&B2,6),2), MID(RIGHT("000000"&B2,6),3,2), RIGHT(RIGHT("000000"&B2,6),2))-TIME(LEFT(RIGHT("000000"&A2,6),2), MID(RIGHT("000000"&A2,6),3,2), RIGHT(RIGHT("000000"&A2,6),2))

Sangat kurang dapat dibaca, tetapi sekarang membalut nilainya dengan nol dan menggunakan paling kanan 6, jadi harus bekerja terlepas dari berapa banyak nol yang Anda gunakan.

Saya yakin Anda benar-benar ingin memformat hasil seperti hh:mm:sspada kasus ini.


Sudahkah Anda menguji ini dengan nilai input yang mengandung nol di depannya? Saya tidak memiliki akses siap ke Excel untuk mengujinya, tetapi jika waktu dimasukkan sebagai angka, angka nol di depan akan dibuang meskipun pemformatan menampilkannya. Itu akan membuang posisi karakter dalam formula Anda.
fixer1234

@ fixer1234 Terima kasih, pasti lupa menyebutkan itu! Ditambahkan ke jawaban untuk memformat sel sebagai Teks (untuk menghindari formula yang terlalu rumit dengan pernyataan IF / padatan palsu)
Jonno

Ya kamu benar. Saya menguji nilai yang mengandung nol di awal dan memberikan hasil yang salah. Bagaimana saya bisa mengatasi masalah ini? Bahkan jika saya memasukkan angka-angka dengan nol itu dibuang. 061228 - 061335 adalah 000107.
Taner Eti

@TanerEti Baik saya sendiri dan fixer1234 telah mengubah jawaban sekarang jadi lebih jelas - Memformat sel waktu input sebagaiText
Jonno

Kanan. Tetapi seperti yang saya nyatakan di awal saya sudah memformat sel dengan nilai khusus 00 \: 00 \: 00. Ini akan menunjukkan waktu dengan titik dua saat masuk tanpa itu.
Taner Eti

1

Berikut cara lain untuk menangani pengodean ulang waktu Anda seperti yang Anda inginkan:

tangkapan layar

Saya meninggalkan waktu mulai dan berakhir sebagai angka yang tidak diformat untuk membuat tindakan lebih terlihat. Dalam contoh ini, waktu mulai Anda adalah 25 detik setelah tengah malam atau siang, yang akan Anda masukkan sebagai 000025. Sebagai angka, itu akan disimpan sebagai 25, meskipun format Anda akan membuatnya terlihat seperti 00:00:25.

Pendekatan ini melepas jam dan menit berdasarkan posisi mereka dalam jumlah menjadi kekuatan 100. Detik selalu dua digit yang tepat, bagaimanapun. Rumus dalam C2 adalah:

= TIME(INT(B2/10000), INT(MOD(B2/10000,1)*100), RIGHT(B2,2))
 -TIME(INT(A2/10000), INT(MOD(A2/10000,1)*100), RIGHT(A2,2))

Fungsi MOD adalah kebalikan dari fungsi INT. Ini memberi Anda sisa setelah pembagian.


0

Saya tahu ini adalah posting lama, tetapi jika (seperti yang saya lakukan) orang mencari solusi melalui forum yang tak terhitung jumlahnya untuk menghemat waktu memasukkan dalam timesheets dan tidak harus secara manual memasukkan "Colon", tetapi memiliki titik dua yang terlihat, dan kemudian menjadi mampu melakukan perhitungan ..... semua tanpa menggunakan VBA Script, sel-sel tersembunyi dan formula .... dll .... dll .... Ini adalah solusi yang saya buat - dan sepertinya bekerja dengan memimpin nol, waktu 24 jam, dan timeshe mencakup tengah malam (meskipun akan membutuhkan penyesuaian jika Anda mengharapkan kartu absen untuk menjangkau beberapa midnights - saya tidak melihat ini sebagaimana diperlukan dalam kasus saya).

Juga, saya tidak perlu untuk "Detik", tetapi Anda harus dapat mengembangkannya dengan cukup mudah jika Anda mengikuti konsep:

Kustom memformat waktu mulai dan sel waktu akhir Anda sebagai:

0 # ":" ##

Ini mengubahnya menjadi "sel teks", tetapi gosok digit untuk selalu menunjukkan empat digit (bahkan dengan nol terkemuka, atau nol untuk teman-teman Amerika).

Catatan, ini akan memungkinkan entri angka APAPUN empat digit terlihat seperti format waktu. Jadi secara teori mungkin untuk masuk pada 0768, dan itu menjadi waktu 07:68, yang tentu saja tidak ada. Begitu juga

a) membuat daftar validasi data sebagai berikut: - pada lembar kerja terpisah (tab), dalam satu kolom, buat daftar semua nilai yang dapat diterima. Dalam kasus saya ini adalah dari 0500, 0515, 0530, 0545 ..... 0445 karena saya hanya berurusan dengan kenaikan 15 menit. Jika Anda perlu menelusuri ke detik (serius?) Ini akan cukup lama ..... yaitu. 050001, 050002 .... dll. Atau Anda dapat menulis rumus lain hanya untuk membuat daftar ini, lalu salin data teks (hanya tempelkan nilai) ke dalam kolom baru untuk menghapus rumus (saya akan). - Pilih semua sel ini dari "nilai yang dapat diterima) dan di tab" Forumulas "pada toolbar pilih" Tentukan Nama ". Berikan nama seperti" MonkeyTimeList "-. Kembali ke lembar kerja lembar waktu Anda, pilih semua sel yang mencakup keduanya mulai dan mengakhiri waktu, dan buka tab "Data" pada toolbar pilih "Validasi Data> Validasi Data> Pengaturan", di bagian "Izinkan" pilih "Daftar" dari drop down, pada bagian "Sumber" pada nama yang Anda tentukan sebelumnya dengan "=", jadi dalam kasus saya " = MonkeyTimeList ". Karena Anda mengklik "OK", pilih tab "Peringatan Kesalahan", centang kotak "Tampilkan peringatan kesalahan ...", dan pada drop-down "Gaya" pilih "Stop". Jangan ragu untuk menambahkan pesan kesalahan seperti "Monkey Man mengatakan Anda idiot, coba dan masukkan waktu di FORMAT BENAR!". Kemudian klik "OK". -Ini memastikan bahwa hanya data dari daftar "dapat diterima" Anda yang dapat dimasukkan sebagai waktu. di bagian "Sumber" ketik nama yang Anda tentukan sebelumnya dengan "=", jadi dalam kasus saya "= MonkeyTimeList". Karena Anda mengklik "OK", pilih tab "Peringatan Kesalahan", centang kotak "Tampilkan peringatan kesalahan ...", dan pada drop-down "Gaya" pilih "Stop". Jangan ragu untuk menambahkan pesan kesalahan seperti "Monkey Man mengatakan Anda idiot, coba dan masukkan waktu di FORMAT BENAR!". Kemudian klik "OK". -Ini memastikan bahwa hanya data dari daftar "dapat diterima" Anda yang dapat dimasukkan sebagai waktu. di bagian "Sumber" ketik nama yang Anda tentukan sebelumnya dengan "=", jadi dalam kasus saya "= MonkeyTimeList". Karena Anda mengklik "OK", pilih tab "Peringatan Kesalahan", centang kotak "Tampilkan peringatan kesalahan ...", dan pada drop-down "Gaya" pilih "Stop". Jangan ragu untuk menambahkan pesan kesalahan seperti "Monkey Man mengatakan Anda idiot, coba dan masukkan waktu di FORMAT BENAR!". Kemudian klik "OK". -Ini memastikan bahwa hanya data dari daftar "dapat diterima" Anda yang dapat dimasukkan sebagai waktu. drop down pilih "Stop". Jangan ragu untuk menambahkan pesan kesalahan seperti "Monkey Man mengatakan Anda idiot, coba dan masukkan waktu di FORMAT BENAR!". Kemudian klik "OK". -Ini memastikan bahwa hanya data dari daftar "dapat diterima" Anda yang dapat dimasukkan sebagai waktu. drop down pilih "Stop". Jangan ragu untuk menambahkan pesan kesalahan seperti "Monkey Man mengatakan Anda idiot, coba dan masukkan waktu di FORMAT BENAR!". Kemudian klik "OK". -Ini memastikan bahwa hanya data dari daftar "dapat diterima" Anda yang dapat dimasukkan sebagai waktu.

b) secara teoritis Anda bisa menggunakan pemformatan bersyarat hanya untuk menyorot sel di mana data yang salah ditambahkan. Ini akan menghindari penggunaan lembar kerja terpisah untuk data validasi data Anda. Saya belum melakukannya dengan cara ini, itulah sebabnya saya katakan secara teoritis. Itu mungkin tutorial yang berbeda ....

Jadi, sekarang Anda dapat memasukkan waktu Anda, tanpa harus mencari titik dua dan tombol shift setiap kali.

Jika Anda BENAR-BENAR ingin detik dalam format sel Anda, maka format sel khusus akan terlihat seperti:

0 # ":" ## ":" ##

JADI ...... SEKARANG UNTUK MENGHITUNG JAM dari waktu mulai hingga waktu selesai .... sekali lagi, ini hanya berdasarkan menit .... tetapi jika Anda dapat mengikuti logika, dapat diperluas ke detik juga.

Di kolom ketiga (dengan asumsi kolom A adalah Waktu Mulai, B adalah Waktu Berakhir, dan C adalah Total Jam), masukkan rumus:

= JIKA (VALUE (B2)> = VALUE (A2), (SUM (VALUE (MID (TEXT (B2, "0000"), 1,2)), VALUE (MID (TEXT (B2, "0000"), 3 , 2)) / 60)) - (SUM (VALUE (MID (TEXT (A2, "0000"), 1,2)), VALUE (MID (TEXT (A2, "0000"), 3,2)) / 60)), (SUM (VALUE (MID (TEXT (B2, "0000"), 1,2)), 24, VALUE (MID (TEXT (B2, "0000"), 3,2)) / 60)) - (SUM (VALUE (MID (TEXT (A2, "0000"), 1,2)), VALUE (MID (TEXT (A2, "0000"), 3,2)) / 60)))

Sekarang untuk menjelaskannya ...

Fungsi "JIKA" membedakan waktu selesai pada jam 24 jam sebelum tengah malam, dan yang setelah tengah malam. JIKA setelah tengah malam, 24 jam ditambahkan ke waktu selesai untuk memungkinkan perhitungan waktu Selesai dikurangi Waktu Mulai untuk tetap bekerja. JIKA sebelum tengah malam, tidak perlu menambahkan 24 jam. Jadi untuk keperluan perhitungan, waktu 0100 sebenarnya diperlakukan sebagai 2500, 0200 adalah 2600 dan seterusnya. CATATAN. ini mengasumsikan bahwa shift berjalan tidak lebih dari 23 jam dan 45 menit. Jika itu berjalan lebih lama, mungkin Anda perlu memasukkan kolom tanggal ke formula Anda .... sekali lagi, saya tidak membutuhkannya.

Fungsi MID bekerja pada TEXT (maka fungsi TEXT) dan mengembalikan digit di lokasi tertentu dari sel yang direferensikan, dalam format yang ditentukan .... Soooo, "MID (TEXT (B2," 0000 "), 1,2) "Melihat sel B2, dan selalu melihatnya dalam format 4 digit / huruf, dan mengembalikan dua digit mulai dari posisi" 1 ". Dalam kasus saya ini mewakili seluruh jam. Contoh lain: "MID (TEXT (A2," 000000 "), 5,2)" akan melihat sel A2, dan mengembalikan dua digit dimulai dengan posisi "5", yang bisa menjadi seluruh detik.

Saya menempatkan fungsi "VALUE" di depan semua ini untuk mengubah teks kembali menjadi angka, sehingga kita dapat bekerja dengannya dalam perhitungan.

Jadi, ini memungkinkan kita untuk setiap sel untuk memperlakukan jam, menit dan detik secara terpisah. Perhitungan dengan jam sederhana karena sudah bilangan bulat. Namun Menit sebenarnya adalah pecahan jam, atau pecahan 60 menit, jadi setelah Anda mengekstrak digit yang mewakili "menit", bagilah dengan "60" untuk memberi Anda "pecahan" satu jam. Seperti bijaksana dengan detik, bagi dengan 3600 (jumlah detik dalam satu jam) untuk memberi Anda detik sebagai "sebagian kecil dari satu jam".

Sekarang waktu direpresentasikan sebagai angka dengan pecahan, Anda dapat menambah atau mengurangi sesuka Anda. Dalam hal formula saya, akan memberikan jumlah total jam antara waktu mulai dan waktu selesai. Saya memformat sel dengan rumus sebagai Kustom> 00.00 yang kemudian memungkinkan saya untuk mengalikan dengan tarif per jam, dll.

Jika seseorang masih benar-benar ingin detik dalam formula mereka. dan terjebak, beri tahu saya. Jika saya bosan di tempat kerja saya mungkin bisa membantu .... tetapi beberapa detik ??? sangat???

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.