Excel 2013 - Bagaimana agar Lookup mengembalikan tanggal pertama setelah tanggal yang ditentukan?

0

Jadi saya ingin membuat fungsi yang mencari kode ID unik dalam satu kolom, dan mengembalikan cap waktu yang sesuai dari kolom lain. Namun, ada beberapa prangko waktu yang dilampirkan pada setiap kode ID unik. Saya hanya ingin mengembalikan cap waktu yang segera mengikuti waktu yang ditentukan.

Misalnya, untuk ID Unik "9f45Q3", ada 4 prangko yang dilampirkan:

  • 11:00
  • 11:15
  • 11:40
  • 11:55

Saya perlu menemukan cara untuk memberitahu Excel untuk mengembalikan cap waktu untuk "9f45Q3" yang segera diikuti 11:30. (Hanya waktu yang sewenang-wenang demi menjelaskan) Dalam hal ini, saya ingin Excel mengembalikan 11:40, karena paling cepat mengikuti waktu yang saya tentukan.

Bantuan apa pun akan sangat dihargai. Terima kasih!

Derek
sumber
Apakah cap waktu dalam satu kolom atau mereka dalam beberapa kolom melintasi?
Nayrb
Stempel waktu semuanya dalam satu kolom, baris terpisah. Jadi dalam kasus contoh, ID Unik akan identik di semua 4 baris, dengan cap waktu yang sesuai untuk masing-masing
Derek

Jawaban:

0

Gunakan INDEX dan AGREGAT

Gunakan agregat untuk menentukan nomor baris yang cocok dengan kriteria Anda atau yang kedua atau yang ketiga. Dalam kasus Anda yang kedua. AGGREGATE melakukan operasi seperti array sehingga Anda ingin menghindari menggunakan referensi kolom lengkap.

=AGGREGATE(14,6, row(range of interest)/(true condition check(range of interest)*true condition check n (range of interest)),2)

14 tells AGGREGATE to sort an array of results from smallest to largest.

 6 tells AGGREGATE to ignore any errors and exclude them from the array of results)

ROW(range of interest) will return the row number corresponding to the current calculation

Condition check will be some formula you come up with that returns a TRUE or FALSE result.  If it is false it will result in a divide by 0 calculation which the 6 will tell aggregate to ignore.  You can apply multiple conditions and separate them by a * which will act as an AND function.
 2 tells AGGREGATE to return the 2nd result in the sorted array.  So in this case it should be the second row number that matches your results.

Hal berikutnya yang harus dilakukan adalah menempatkan fungsi AGREGAT di dalam INDEX sehingga mengembalikan informasi yang Anda inginkan. Karena INDEX tidak melakukan perhitungan seperti array, aman untuk menggunakan referensi kolom lengkap. Katakanlah cap waktu Anda ada di kolom B. Rumus indeks Anda akan terlihat seperti:

=INDEX(B:B,AGGREGATE())

Jadi pada akhirnya dengan asumsi ID Anda berada dalam rentang A2: A8 dan cap waktu Anda berada dalam rentang B2: B8 Dan kode ID yang Anda cari ada di C1, rumus Anda mungkin terlihat seperti:

=INDEX(B:B,AGGREGATE(14,6,ROW(A2:A8)/(A2:A8=C1),2)

Sekarang jika Anda ingin menambahkan sedikit pengecekan kesalahan, Anda dapat memasukkan fungsi IFERROR dan membuatnya tampak seperti:

=IFERROR(INDEX(B:B,AGGREGATE(14,6,ROW(A2:A8)/(A2:A8=C1),2),"Could NOT find the darned thing")
Forward Ed
sumber