Mengisi waktu yang hilang dari serangkaian data yang rusak

0

Saya mengunduh data per menit dari Google Analytics. Namun, itu hanya menyediakan item baris untuk setiap menit bahwa ada nilai yang lebih besar dari nol.

Saya ingin membuat grafik data ini, tetapi sebelum saya melakukannya saya ingin melihatnya dalam rangkaian waktu terus menerus, menyuntikkan nol secara eksplisit untuk menit-menit di mana sumber tidak memiliki data.

Saya telah mengonversi 'Jam Hari' (kolom A ) dan 'Menit' (kolom B ) ke dalam 'Waktu' (kolom G ) menggunakan

=TIME(RIGHT(A3,2),B3,0)

Saya mencoba menggunakan indeks / pasangan

=INDEX($C$3:$C$954,MATCH(H3,$G$3:$G$954,0))

dalam kolom I referensi seri waktu kontinu dalam kolom H, untuk mengembalikan data dalam kolom C tetapi kembali #N/A.

Berikut adalah tangkapan layar yang menunjukkan hasil yang diinginkan, dimasukkan secara manual, di kolom I:

Screen shot updated

Sejak H6 aku s 12:03:00 AM, I6 harus mengandung 2, yang merupakan nilai dari C3, sejak G3 aku s 12:03:00 AM.

Demikian pula, H11 = G4 = 12:08:00 AMI11 = C4 = 1.

Baris milik siapa H nilai tidak ada di kolom G harus memiliki 0 dalam kolom I.

Britt
sumber

Jawaban:

1

Masalahnya ternyata disebabkan oleh perbedaan titik mengambang ketika Anda menggunakan Excel seri Linear fill untuk secara otomatis mengisi waktu dalam kolom H, dibandingkan dengan waktu yang dihasilkan dengan TIME() fungsi.

Ini dapat dikonfirmasi dengan memasukkan =H6-G3 di sel mana pun, atau dengan memilih H6, lalu menekan F2 diikuti oleh Memasukkan . Perhatikan bahwa sementara F2 metode dapat digunakan untuk memperbaiki nilai waktu satu per satu, tidak nyaman untuk melakukannya untuk sejumlah sel yang signifikan.

Solusinya adalah menghasilkan Continuous Time nilai dengan rumus.

Worksheet Screenshot using OP's Formula

Masukkan formula berikut di H3 dan ctrl-enter / copy-paste / fill-down / auto-fill sejauh melewati tabel H kolom sesuai kebutuhan:

=IF(ISTEXT(H2),TIME(RIGHT(A3,2),0,0),TIME(HOUR(H2),MINUTE(H2)+1,0))

Perhatikan bahwa nilai waktu dapat dibiarkan apa adanya, atau dikonversi ke nilai literal dengan menyalin dan kemudian menempelkan sebagai nilai.

Seperti yang Anda lihat, indeks Anda / formula cocok di kolom I sekarang akan mengambil Pengguna dari kolom C ketika waktu yang cocok ada di kolom G.


EDIT:

Sementara rumus di atas "kuat" dan memungkinkan baris untuk dimasukkan / dihapus di atas header tanpa melanggar, seperti yang ditunjukkan Scott (terutama jika menyalin / menempelkan sebagai nilai), ada versi yang lebih sederhana dan kurang kuat:

=TIME(RIGHT($A$3,2),ROW()-3,0)

Lebih lanjut menyederhanakan ini mengarah ke formula paling sederhana yang mungkin berikut:

=TIME(0,ROW()-3,0)

Satu-satunya hal yang harus dilakukan adalah mengubah rumus untuk menghasilkan nol ketika waktu hilang:

=IFERROR(INDEX($C$3:$C$954,MATCH(H3,$G$3:$G$954,0)),0)

Worksheet Screenshot using Modified Formula

robinCTS
sumber
Terima kasih banyak atas bantuan Anda !!! Saya pikir saya berada di jalur yang benar. Kalian sangat membantu :)
Britt
@ Britt Sama-sama. Jangan lupa untuk "menerima" jawabannya (dengan mengklik tanda centang abu-abu di kiri atas jawaban) untuk menandai pertanyaan sebagai terselesaikan. Itu juga cara yang tepat untuk mengucapkan "terima kasih" karena memberi penghargaan kepada penjawab (dan Anda) dengan reputasi. NB Jika Anda benar-benar menghargai bantuan saya, begitu Anda mencapai 15+ reputasi jangan lupa untuk kembali dan meningkatkan jawaban saya juga ;-)
robinCTS
Anda dapat melakukan H3 jauh lebih sederhana =TIME(RIGHT(A$3,2), ROW()-3, 0).
Scott
1
@Scott Ya. Tapi kemudian rumus rusak jika baris dimasukkan / dihapus di atas header. Saya dalam dua pikiran yang lebih baik: versi yang lebih sederhana tetapi kurang kuat, atau versi yang lebih kompleks tetapi lebih kuat. Untuk penggunaan pribadi saya, saya selalu lebih memilih ketahanan daripada kesederhanaan. Untuk jawaban tentang Pengguna Super, jika formula sudah cukup kompleks, saya mencoba melakukan versi yang kurang kuat (jika saya ingat). Saya kira dalam hal ini, jika rumus disalin-tempel sebagai nilai, maka rumus yang lebih sederhana akan lebih baik.
robinCTS
1
@robinCTS: Ya, ya, jika Anda berasumsi bahwa OP ingin grafik dimulai pada tengah malam bahkan jika data tidak. Jika data mulai jam 5 pagi, itu akan menghasilkan 300 baris kosong.
Scott