Setelah memeriksa apakah nilai sel ada di kolom, saya perlu mendapatkan nilai sel di sebelah sel yang cocok . Misalnya, saya memeriksa apakah nilai cell A1
ada di column B
, dan menganggapnya cocok B5
, maka saya ingin nilainya masuk cell C5
.
Untuk mengatasi paruh pertama masalah, saya melakukan ini ...
=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", "Match")
... dan berhasil. Kemudian, berkat jawaban sebelumnya di SO , saya juga bisa mendapatkan nomor baris dari sel yang cocok:
=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", "Match on Row " & MATCH(A1,B:B, 0))
Jadi wajar saja, untuk mendapatkan nilai sel berikutnya, saya mencoba ...
=IF(ISERROR(MATCH(A1,B:B, 0)), "No Match", C&MATCH(A1,B:B, 0))
... dan itu tidak berhasil.
Apa yang saya lewatkan? Bagaimana cara menambahkan nomor kolom ke nomor baris yang dikembalikan untuk mencapai hasil yang diinginkan?
VLOOKUP(A1, B:C, 2, FALSE)
daripada menggunakan rentang tetap (untuk mengakomodasi array pencarian yang berkembang)?IFERROR
sini. Ini berfungsi dengan baik tanpa itu, karena VLOOKUP hanya dijalankan jika ada kecocokan.Setelah jawaban t.thielemans , saya mengerjakannya saja
berfungsi dengan baik dan melakukan apa yang saya inginkan, kecuali bahwa ia kembali
#N/A
untuk yang tidak cocok; jadi cocok untuk kasus di mana diketahui bahwa nilai pasti ada di kolom pencarian.Edit (berdasarkan komentar t.thielemans):
Untuk menghindari
#N/A
non-pertandingan, lakukan:sumber
IFERROR(VLOOKUP(A1, B:C, 2, FALSE),0)
. Saya juga menambahkan ini ke jawaban saya. 0 menjadi nilai apa pun yang Anda inginkan :) (gunakan ini dalam kode akan menyebabkan Tidak Ada Kecocokan jika tidak ada kecocokan;)Bagaimana dengan ini?
Angka "3" pada akhirnya berarti kolom C.
sumber