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")