Hallo master2
saya punya set data default seperti terlampir
adakah cara untuk mendapatkan hasilnya?
filenya terlampir
CC: master @Caton
thanks in advance
Terjawab oleh Caton
Lihat Jawaban terkaitTarget dari formula tersebut adalah untuk mendapatkan nilai dari sebuah range yang bukan nol (dan juga bukan sel kosong — karena Excel seringkali memperlakukan sel kosong sebagai nilai nol). Untuk setiap nilai nol, maka harus dikembalikan nilai yang bukan nol.
Catatan: Pada fungsi LOOKUP, jika nilai yang dicari tidak ditemukan pada range atau vektor pencarian nilai, maka fungsi LOOKUP akan mencari nilai terakhir pada range atau vektor pencarian nilai yang sesuai bila nilai-nilai tersebut lebih kecil atau sama dengan nilai yang dicari, berdasarkan prediksi range atau vektor pencarian nilai yang tersusun Ascending.
Untuk mendapatkan target nilai yang diinginkan, harus dilakukan proses komparasi nilai pada range F11:F19 dengan menggunakan formula:
($F$11:F11<>0)
Mengapa range pencarian dibuat dinamis? Agar nilai yang dihasilkan sesuai dengan target nilai yang ada setiap barisnya. Perhatikan ilustrasi berikut:
[attachment:5a7d9af4a851d]
Jika nilai pada range F11:F19 diambil secara langsung, maka fungsi OFFSET akan menghasilkan nilai yang tidak tepat karena beberapa argumen ROWS akan bernilai nol (gambar 1C). Padahal, target nilai yang diharapkan adalah seperti gambar 2. Oleh karena formula ($F$11:F11<>0)
pada dasarnya akan menghasilkan nilai TRUE (1) atau FALSE (0) saja, maka kita harus mengeliminasi nilai FALSE (0) dari senarai nilai pencarian tersebut. Sehingga, fungsi LOOKUP hanya akan mendapatkan nilai TRUE (1) saja sebagai nilai terkecil.
Jika range atau vektor pencarian nilai dibuat tetap (statis), maka untuk sel F11 akan menghasilkan nilai 3, karena nilai TRUE (1) terakhir berada pada sel F17. Jadi, dibuatlah range pencarian nilainya menjadi dinamis, yakni relatif terhadap baris formula.
Agar fungsi LOOKUP mengambil nilai terakhir yang lebih kecil dari nilai yang dicari, maka argumen Lookup Value
pada fungsi LOOKUP diisi dengan nilai 2. Karena senarai nilai pada argumen Lookup Vector
hanya akan berisi nilai TRUE (1) atau FALSE (0), dan nilai FALSE (0) lebih kecil dari nilai TRUE (1), maka nilai-nilai FALSE (0) tersebut dieliminasi dengan menggunakan operasi pembagian, yakni menggunakan notas 1/n
. Hasilnya, jika proses komparasi menghasilkan nilai TRUE, maka 1/TRUE = 1/1 = 1
, sedangkan jika proses komparasi menghasilkan nilai FALSE, maka 1/FALSE = 1/0 = #DIV/0!
. Oleh karena #DIV/0! bukanlah nilai, maka fungsi LOOKUP akan mengabaikannya saat melakukan proses pencarian nilai.
Sebagai contoh, fungsi LOOKUP pada sel I18:
= LOOKUP(2;1/($F$11:F18<>0);$F$11:F18) = LOOKUP(2;1/{TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE};{1;0;0;2;0;0;3;0}) = LOOKUP(2;{1;#DIV/0!;#DIV/0!;1;#DIV/0!;#DIV/0!;1;#DIV/0!};{1;0;0;2;0;0;3;0}) = 3
Demikian yang dapat saya jelaskan. Semoga tidak menjadi bingung, karena saya juga bingung untuk menjelaskannya... :D