lookup data

  1. 6 tahun lalu

    Hallo master2

    saya punya set data default seperti terlampir

    adakah cara untuk mendapatkan hasilnya?

    filenya terlampir
    CC: master @Caton

    thanks in advance

    Target 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

  2. Caton

    7 Peb 2018 Terverifikasi Indonesia + 20.101 Poin

    Terlampir contoh solusi yang mudah-mudahan sesuai dan dapat diterapkan... ;)

  3. super sekali
    terimakasih master @Caton

  4. mas @Caton

    minta tlg penjelasan dari rumus ini dong

    lookup mas, dari rumus "1/($F$" dan " <>"" "

    kenapa pakai "/" dan ada <>""
    itu logic nya gimana ya mas?

  5. Caton

    9 Peb 2018 Terverifikasi Jawaban Terpilih Indonesia + 20.101 Poin

    Target 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:

    Untitled.png

    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

  6. terimakasih sekali mas @Caton

    di jelaskan sampai terperinci gitu, saya coba dlu pelajari, mudah2n bisa mengerti

    Semoga tidak menjadi bingung, karena saya juga bingung untuk menjelaskannya... :D

    bahasa dan contoh yang di gunakan sudah sangat jelas mas, heheh

  7. Caton

    12 Peb 2018 Terverifikasi Indonesia + 20.101 Poin

    Sama-sama mas @adekinteristi ... Btw, selain menggunakan fungsi OFFSET dan LOOKUP, bisa juga fungsi INDEX dan SUMPRODUCT untuk mendapatkan hasil seperti dijelaskan di atas, dimana formulanya:

    =INDEX($A$5:$R$7;SUMPRODUCT(MAX(($F$11:F11<>0)*$F$11:F11));MATCH(G11;$A$3:$M$3;0)+5)

    Demikian.. ;)

  8. sip, terimakasih mas @Caton

    untuk yang ($F$11:F11<>0)

    saya sudah mengerti, masih mempelajari 1/ :-D

 

atau Mendaftar untuk ikut berdiskusi!