Maaf mas @Zikafrihadi ... Sebenarnya, cara termudah untuk mendapatkan hasil yang diinginkan adalah dengan VLOOKUP atau INDEX+MATCH saja (periksa file terlampir). Karena mas @Zikafrihadi bertanya dengan bagaimana proses kalkulasi dari formula yang digunakan pada lampiran file sebelumnya, saya coba jelaskan sedikit sebagai berikut:
Inti dari formula tersebut adalah fungsi IF dan fungsi INDEX+MATCH. Pada formula di atas, nama range Data1 merujuk ke range B4:E13 pada sheet Data_1, dan nama range Data2 merujuk ke range B4:E14 pada sheet Data_2. Saya harap mas @Zikafrihadi memahami fungsi INDEX dan MATCH, agar uraiannya tidak terlalu panjang. Kita urai per bagian untuk formula dengan fungsi IF. Formula dari argumen Logical Test pada fungsi IF tersebut adalah:
INDEX(Data1;MATCH(B4;INDEX(Data1;0;1);0);3)=INDEX(Data2;MATCH(B4;INDEX(Data2;0;1);0);3)
Formula di atas pada dasarnya sama, yang membedakannya adalah range acuan pencarian datanya. Untuk sel D4 sheet Data_3, nilai yang dicari adalah sama yakni nilai pada sel B4, "Ahmad". Dengan demikian formula:
= INDEX(Data1;MATCH(B4;INDEX(Data1;0;1);0);3)
= INDEX(Data1;4;3)
= 36789046
dan formula:
= INDEX(Data2;MATCH(B4;INDEX(Data2;0;1);0);3)
= INDEX(Data2;7;3)
= 36789046
menghasilkan nilai yang sama, yakni 36789046. Sehingga argumen Logical_Test pada fungsi IF tersebut akan menjadi:
= IF(36789046=36789046;INDEX(Data1;MATCH(B4;INDEX(Data1;0;1);0);3);"")
= IF(TRUE;INDEX(Data1;MATCH(B4;INDEX(Data1;0;1);0);3);"")
= IF(TRUE;INDEX(Data1;4;3);"")
= IF(TRUE;36789046;"")
= 36789046
Saya jelaskan sedikit tentang fungsi INDEX dan fungsi MATCH yang digunakan. Pada formula di atas, fungsi MATCH yang digunakan:
MATCH(B4;INDEX(Data1;0;1);0)
dan
MATCH(B4;INDEX(Data2;0;1);0)
akan mencari nilai pada sel B4 ("Ahmad") pada kolom pertama dari masing-masing range acuan (Data1 dan Data2). Formula:
INDEX(Data1;0;1)
bertujuan untuk mengambil seluruh baris nilai dari kolom ke-1 pada range Data1. Hal ini terjadi oleh karena argumen Row_Num pada fungsi INDEX tersebut kita isi dengan nilai 0 (nol). Hasilnya akhir dari fungsi INDEX tersebut akan berupa array:
= INDEX(Data1;0;1)
= {"Kiki";"Teguh";"Aris";"Ahmad";"Aji";"Raya";"Farhan";"Iqbal";"Deden";"Umam"}
dan
= INDEX(Data2;0;1)
= {"Iqbal";"Deden";"Umam";"Kiki";"Teguh";"Aris";"Ahmad";"Aji";"Raya";"Farhan";"Nugraha"}
Dengan demikian, fungsi INDEX terhadap range Data1 akan menjadi:
= INDEX(Data1;MATCH(B4;INDEX(Data1;0;1);0);3)
= INDEX(Data1;MATCH("Ahmad";{"Kiki";"Teguh";"Aris";"Ahmad";"Aji";"Raya";"Farhan";"Iqbal";"Deden";"Umam"};0);3)
= INDEX(Data1;4;3)
= 3678904
Demikian uraian prosesnya. Btw, semua formula yang digunakan pada file terlampir memiliki kelemahan yang sama, yakni jika ada data Nama yang sama, maka hasilnya akan tidak akurat. Menurut saya, yang terbaik adalah dengan mencari data berdasarkan nilai kolom KTP, karena pada dasarnya Nomor KTP bersifat unik tanpa duplikasi. Namun, tentunya kolom KTP tersebut harus ada pada masing-masing sheet (Data_1 dan Data_2). Mungkin nanti jika ada kasusnya baru dicarikan kembali solusinya... :D