Hai CW,

Pertanyaannya susah-susah gampang... (bukan gampang-gampang susah loh ya)
Susah berlipat njelasinnya, tapi gampang ngasih contohnya.

Tentu sudah pernah baca atau tahu tentang array, formula, array formula,
dan sebangsanya...
jadi, gak perlu dijelasin lagi tentang literatur yang sudah banyak itu ya...

Sekarang yang simpel-simpel saja.

CTRL SHIFT ENTER (disingkat CSE) ditekan ketika selesai menulis formula
menggantikan penekanan tombol ENTER   (yaah... ini sih dah umum..)
Parameter kalo formula harus pakai CSE :
                adalah kalau formula di-ENTER saja hasilnya error, dan di
CSE keluar hasilnya.     -> *kaidah utama, main coba-coba*

Tapi ya gak seru kalau gak ada ancer-ancernya ya...

Baiklah,
ancer-ancernya sebelum menggunakan kaidah utama di atas adalah seperti
cerita di baris selanjutnya ya...  (Ingat... ancer-ancer sebelum pakai
kaidah utama loh ya)

Pakai data ini :

​
​
Kalau begitu, pernah memperhatikan saat menulis suatu fungsi dalam formula,
seperti gambar ini nih..

​nah loh... jarang memperhatikan ya...
Apa bedanya fungsi-fungsi yang dipakai dalam formula di sisi kiri dengan di
sisi kanan ?
Sum, IF, Row, dan sebagainya (ada banyak sekali), tidak punya inputan yang
ada kata array-nya seperti yang dimiliki SumProduct, Index, vLookUp, dan
lainnya (ada banyak).

*1. Gak ada kata 'array' dalam inputan fungsi, tetapi diisi array hasil
hitungan tertentu*
Cells D5 (hasil total Qty * Price) :
Kalau diisi formula berbunyi :
        =Sum( D2:D4 )        -> hasilnya 140
maka D2:D4 tinggal ngambil, gak usah dihitung-hitung dulu sebelum di-Sum.
jadi, =Sum( D2:D4 )    gak perlu CSE, cukup ENTER saja...

Kalau di D5 ditulis formula :
       =Sum(  B2:B4  *   C2:C4 )     -> hasilnya juga inginnya 140, karena
Qty (B2:B4) dikali Price (C2:C4)
maka B2:B4 dan C2:C4 diambil, lalu masing-masing yang bersesuaian dikalikan
dulu. Hasil perkalian masing-masing itulah nanti yang dihitung oleh si Sum.

B2:B4 * C2:C4 inilah yang disebut proses array.
Hasil proses array ini pastilah array data
Bunyi B2:B4 * C2:C4 itu sama saja di 1 bijik cells D4 ada hitungan begini :
    B2 * C2 = 1 * 10 = 10
    B3 * C3 = 2 * 20 = 40
    B4 * C4 = 3 * 30 = 90
artinya ada hasil proses array berupa array data (kumpulan nilai-nilai)  10
, 40 , 90
Hasilnya kan lebih dari 1 bijik nilai...
Nah si Sum, kalau lihat gambar di atas, tidak punya kata 'array'
di-input-an-nya, adanya cuma bunyi number1, number blabla
Berarti si Sum gak bisa terima alias ogah disuruh ngerjain ngitung B2:B4 *
C2:C4
Kalau ogah, paksa si Sum supaya mau dengan CSE.
Jadi, formula
     =Sum(  B2:B4  *   C2:C4 )   lalu tekan CSE akan menghasilkan 140,
karena si Sum dipaksa supaya ngerjain B2:B4 * C2:C4 dulu, barulah di sum.


Bagaimana dengan Row()...
sama saja prinsipnya, malah si Row cuma bisa menerima range, gak bisa diisi
angka
Coba saja cells A5 diisi dengan formula =Row(1) kan protes berat si Excel.
Lha ngawur kok ngisinya...
Kalau dah protes berat gitu, mau di paksa pakai CSE juga kagak mau. Namanya
udah ngambek ya gitu dah



*2. ADA kata 'array', tapi pakai IF atau IFError atau beberapa fungsi
semisal lainnya.*
Fungsi yang punya kata 'array' di-input-an-nya, seperti SumProduct saja deh
yang cetho welo welo, gak perlu dipaksa-paksa untuk kerja alilas gak usah
repot-repot tekan CSE, asal dia gak ketemu fungsi IF atau IFError.
*** pssst... ini rahasia loh ya, yang ada kata 'array' itu, punya teman
special yang disayang-sayang, yaitu si IF dan si IFError. Mungkin masih ada
yang lainnya lagi kali ya, yang jarang ketemu sama si sumproduct, seperti
isodd atau iseven gitu... Tapi yang jelas, ada cukup banyak, dan kaidah
utama di atas sana perlu dipakai lebih lanjut.
     makanya, kalau mereka ketemu IF atau IFError, langsung deh jadi
pemalesan... harus dipaksa kerja alilas butuh CSE.

Cells D5, kalau diisi formula :
    =SumProduct( D2:D4 )     -> hasilnya 140, seperti =Sum( D2:D4 )

Cells D5, kalau diisi formula :
    =SumProduct( B2:B4 * C2:C4 ) lalu ENTER (gak usah CSE segala)  ->
hasilnya 140, karena si SumProduct punya kata 'array' di-input-an-nya
padahal, B2:B4 * C2:C4 itu ya dihitung satu-satu dulu juga loh... rajin
ya... huh.. gak kaya si Sum tuh, yang harus dipaksa (pakai CSE)
*** jangan gitu sama si Sum... Biasanya, yang males itu justru lebih bisa
menyelesaikan masalah lebih cepat, karena mereka akan cari cara paling
efektif agar bisa bersegera bermalasan lagi

Tapi, kalau cells D5 diisi formula :
    =SumProduct(  IF( B2:B4 = B2:B4 , B2:B4 * C2:C4 )   )     lalu cuma
tekan ENTER doang... hadeeh... ketemu dah hilang akalnya si SumProduct
gara-gara ketemuan sama si IF...
Padahal si IF juga aslinya cuma disuruh ngecek apa bener kolom B isinya
sama dengan kolom B (lah pasti sama kan ya, gak usah mikir juga tahu kan),
lalu kerjakan B2:B4 * C2:C4

Tahu gak kenapa kok fungsi yang ada kata 'array' di-input-an-nya langsung
males ?
gini...
    B2:B4 = B2:B4 itu harus dikerjakan satu per satu oleh si IF dulu, kalau
hasilnya bener, baru ngerjain B2*B4
    nah... si IF tuh males ngerjain barang begituan... karena si IF gak ada
kata 'array' di-input-an-nya (lihat gambarnya lagi deh di atas sana)
    Supaya si IF mau ngerjain itu kan harus dipaksa ya... nah si SumProduct
gak mau maksa si IF, 'cinta' gitu loh...
    Akhirnya, si SumProduct terima dimarahin user mbelain si IF daripada
maksain si IF biar disayang user.
Nah... kalau dah begini nih, main paksa saja sama si SumProduct pakai CSE
    =SumProduct( IF( B2:B4 = B2:B4 , B2:B4 * C2:C4 )   ) lalu tekan CSE
-> hasilnya 140
tuh kan, akhirnya mau kerja beneran... soalnya, si SumProduct bilang sama
si IF, IF aku cuma dipaksa user loh ini... aslinya aku gak mau maksain
kamu... (weeek.. raja gombal)

eh beneran loh ini...
Coba deh di D5 diisi formula dengan SumProduct begini :
    =SumProduct(  Trim( B2:B4 ) * Trim( C2:C4 )    )      lalu tekan ENTER
saja (gak usah CSE)    -> hasilnya 140
ya kan, pilih kasih kan si fungsi yang ada kata 'array' nya ini.
*** Tapi ingat, ini sekadar ancer-ancer sebelum pakai kaidah utama di atas
sana loh ya... supaya gak asal main coba ENTER lalu fail baru CSE..


*3. Si rese bernama vLookUp (lihat gambar), hLookUp, Small, Large, dan
Match yang ngaku-ngaku pakai kata 'array'*
Fungsi-fungsi ini ngaku-ngaku pakai kata 'array' di-input-an-nya. Mungkin
ada fungsi lainnya yang juga seperti ini, tetapi cukup jarang dipakai.

Misal di cells A5 diisi formula =Max( D2:D4 )   hasilnya adalah 90
Ini setara dengan formula =Large( D2:D4 , 1 ) yang hasilnya adalah 90

Tapi kalau dah jadi begini formulanya :
     =Large( --D2:D4  , 1 )   lalu cuma di ENTER, baru muncul tabiat asli
resenya si Large (saudara kecilnya yang bernama si Small juga gitu).
Jadi, kalau minta tolong ke Large dan Small trus ada hitungannya dulu,
pastikan tekan CSE, seperti begini :
     =Large( --D2:D4  , 1 ) lalu tekan CSE -> hasilnya 90
karena --D2:D4  itu butuh dihitung satu per satu dulu, yaitu -1 * -1 *
D2:D4 -> seperti 1 * D2:D4 gitu loh

Sayangnya, yang namanya Match itu, walaupun rese, kemampuannya sangat
dibutuhkan dibanyak masalah. Jadi, kudu pinter-pinter ngakali resenya
mereka, terutama si Match.

Biasanya, kalau dah ketemu dengan mereka (yang rese begini), maka proses
hitung arraynya diserahkan ke yang beneran pakai kata 'array'. Umumnya
adalah si Index.
*** Si Index ini memang baik hati dan tidak sombong (asal gak ketemu sama
si IF, IFError, IsOdd, IsEven -- lihat nomor 2 ya)

Contoh formula Large di atas, jadinya begini :
    =Large(    *Index( *  --D2:D4   * , 0  ) *      ,   1 )      ->
hasilnya 90        [  Index(  inputan  ,  0  ) artinya ngambil semua baris
hasil inputan ]



*4. Hasil formula pengen ditampilkan di banyak cells sekaligus (namanya
blok array)*
Sebenarnya, ini untuk mengisi banyak cells sekaligus yang disebut sebagai
array block (blok array). Maka PASTI harus pakai CSE.
Contohnya begini :
     1. blok cells E2 sampai E4
     2. tulis bunyi formula ini (jangan lupa pakai = ya, kan formula)
              =123
     3. tekan CSE
maka E2:E4 adalah blok array berisi angka 123
Nah, hal seperti ini PASTI pakai CSE.
Itu baru 1 bijik angka, yang terus dianggap sebagai array data, lalu
ditulis ke banyak cells sekaligus.

Tanda bahwa formula disitu adalah blok array adalah GAK BISA menghapus 1
cells saja. Contoh, coba deh hapus cells E2. Paling cuman dimarahin sama si
Excel...

Sekarang contoh pakai formula yang ngitung banyak nilai sekalian ya...
blok F2 sampai F4, lalu tulis formula =D2:D4   lalu tekan CSE
hmmm... sudah lihat hasilnya kan, semua isi cells D2:D4 ditulis
masing-masing sesuai barisnya

Coba lagi, blok G2 sampai G4 lalu tulis formula =B2:B4 * C2:C4  tekan CSE
ooo... (o nya gak usah panjang-panjang bro or sis)

Coba lagi, blok di H2 sampai M4 (yup, 3 baris x 6 kolom), lalu tulis
formula  =B2:B4 * C2:C4 lalu tekan CSE
eh... sudah gak o lagi...

Kalo gitu sekarang mulai seriusnya...
Fungsi Row kan gak punya kata 'array' tuh, maka kalau mau bikin nomor urut
pakai blok array (ingat, blok array PASTI butuh CSE) bisa dengan cara itu
Misal : blok D7:D9 (yup, 3 baris x 1 kolom), lalu tulis =Row( A1:A3 ) dan
tekan CSE

Fungsi Index (ingat kan sama si Index yang baik hati dan tidak sombong),
walau ada kata 'array', kalau mau nampilin semua hasilnya ke banyak cells
(sebagai blok array), tetap pakai CSE.
Contoh :
Blok E7:E9, tulis formula =Index( B2:B4 * C2:C4 , 0 ) lalu tekan CSE
Padahal, kalau mau melakukan Sum semua hasil Index, gak perelu CSE, seperti
di cells B5 diisi formula =Sum(   Index( B2:C2 * C2:C4 , 0 )   )   lalu
tekan ENTER karena cuma mau nulis di sebuah cells, dan hasil akhir formula
cuma 1 bijik nilai (hasil SUM), sedang yang bertugas ngerjain array
perkaliannya adalah si Index.


Dah ah, dah hampir masuk akhir 1/3 malam...
yang ini terakhir buat mainan saja...

Coba blok A11:D11 (yup, 1 baris x 4 kolom), lalu tulis formula =vLookUp(
"B" , Trim( A2:D4 ) , Column( A1:D1 ) , 0 )  lalu tekan CSE
Coba di cells A12 (1 cells) ditulis formula =vLookUp( "B" , Trim( A2:D4 ) ,
4 , 0 ) lalu tekan ENTER
Coba di cells A13 (1 cells) ditulis formula =vLookUp( "B" , Trim( A2:D4 ) ,
4 , 0 ) lalu tekan CSE

Silakan membunyikan pendapat kenapa dan mengapanya, dan persamaan beserta
perbedaan dari 3 formula vLookUp tersebut.
Mau tanya juga boleh...

Dah dulu ya..

permisi...

Regards,
Kid

















2017-08-04 8:03 GMT+07:00 'CepWahyu' [email protected] [belajar-excel] <
[email protected]>:

>
>
> Dear Be-Excel,
>
>
>
> Mau tanya nih…apa sih parameternya kalo formula itu harus dieksekusi
> dengan CSE? Apakah setiap formula yg ada array-nya atau bagaimana?
>
>
>
> Regards
>
> CW
>
> 
>

Kirim email ke