Wa'alaikumussalam Wr. Wb.

Hai Boim,

Selamat bergabung di milis Belajar-Excel.

Mungkin maksudnya, jika ada formula yang menghasilkan alamat suatu cell,
maka ingin mengambil nilai di alamat cell hasil formula tersebut ya.
Berarti, kasus tersebut adalah mengambil nilai secara tidak langsung
(indirect) berdasar suatu teks alamat cell tertentu.

Fungsi yang dapat digunakan adalah Indirect.
Contoh :
=Indirect( "a1" )    '-> akan mengambil nilai dari cell beralamat 'a1'

bunyi 'a1' biusa disusun dengan proses concatenate seperti yang Anda
lakukan.
Berhubung formula Anda yang berbunyi :
=D4&E4&F4
menghasilkan teks berbunyi :
'=A1'
maka bagian yang dibutuhkan untuk menghasilkan teks berbunyi alamat cell
adalah :
E4&F4
sehingga fungsi Indirect :
=Indirect( E4&F4 )
dan akan menghasilkan nilai dialamat cell hasil komputasi E4&F4. Berhubung
E4&F4 menghasilkan teks berbunyi A1, berarti fungsi Indirect akan mengambil
nilai yang ada di cell A1.

Cakep ya fungsi Indirect-nya....
Sayangnya, jika Anda gunakan fungsi ini secara masif, maka dimanapun ada
proses yang memicu kalkulasi Excel, maka seluruh cell yang berisi fungsi
Indirect ini akan dikalkulasi juga.

Coba bayangkan, Anda memiliki 10 sheet yang setiap sheetnya ada 1000 cells
berisi fungsi Indirect, yang berarti ada 10000 cell berisi fungsi Indirect
di workbook tersebut. Kemudian Anda membuat sebuah sheet baru. Jadi
pastilah seluruh cell di sheet baru ini tidak pernah memiliki hubungan
kekerabatan formula dengan 10 sheet sebelumnya. Kemudian di sheet baru
(sheet ke-11) ini pada cell z7 nya diberi suatu nilai seperti menulis bunyi
Kid lalu Enter. Maka 10000 cell yang ada fungsi Indirect nya tadi akan
dikalkulasi.

Itulah tadi gambaran dari sifat fungsi yang berjuluk VOLATILE.
Excel memiliki beberapa fungsi yang memiliki sifat volatile, yaitu antara
lain :
1. OFFSET
2. INDIRECT
3. RAND
4. RANDBETWEEN (xl2007 ke atas)
5. TODAY
6. NOW

setidaknya, 6 fungsi di atas, jika digunakan atau dirujuk secara masif oleh
banyak cells berformula, maka cells tersebut akan dikalkulasi oleh Excel
setiap kali ada cell yang berubah dimanapun, karena akan memicu kalkulasi
Excel. Cells dinyatakan berubah jika terjadi hal-hal berikut :
1. menghapus sheet
2. membuang cells (baris [delete entire row] atau kolom [delete entire
column] atau sebuah cell [delete shift cell arah tertentu] )
3. mengubah nilai dalam cells
4. mengubah bunyi formula dalam cells

Proses kalkulasi Excel bisa di-set manual supaya tidak selalu terjadi
kalkulasi setiap saat. Setting kalkulasi ke-manual bukanlah mencegah proses
kalkulasi, tetapi menunda kalkulasi. Begitu ada perintah kalkulasi atau
setting kembali ke automatic, maka seluruh antrian kalkulasi akibat sifat
volatile tadi (tentu sudah bertumpuk banyak sekali daftar cell yang harus
dikalkulasi) akan dikalkulasi.
Tapi lumayanlah, setting kalkulasi ke manual tidak akan mengganggu peroses
penggantian suatu cells.

Untuk kasus Anda ini, ada cara lain yang tidak lebih simple... maksudnya
yang jauh lebih ribet dan rumit, tetapi tidak volatile.
Contoh :
- jika di cell E5 berisi angka 1 yang mewakili kolom ke-1 (di cell E4
berisi A kan ya)
- lalu di cell F5 berisi angka 1 yang mewakili baris ke-1 (di cell F4
berisi 1 kan ya)
maka untuk mengambil nilai di cell A1 (kolom ke-1 pada baris ke-1 Excel)
bisa dilakukan dengan fungsi Index.
Syntax :
=Index( area_data , baris_data , kolom_data )

Pada kasus ini, area_data adalah seluruh cells Excel.
Jika di xl2003 (file Anda berekstensi xls loh, jadi asumsinya pakai xl2003)
berarti merujuk ke 1:65536  (di xl2007 ke atas 1048576)
baris_data merujuk ke cell F5
kolom_data merujuk ke cell E5
maka cell hasil bisa diisi dengan fungsi Index berbunyi :
=Index( $1:$65536 , f5 , e5 )

*** Syarat dan ketentuan : f5 dan e5 tidak merujuk ke cell yang berisi
formula Index tersebut, agar tidak circular reference
Jadi, inputan alamat cellnya adalah nomor kolom dan nomor baris Excel.

Andai, (andai ajah loh ya)
Anda ndak suka kalau inputannya diubah-ubah, dan tetap ngotot maunya
inputannya adalah hurufnya si kolom dan barisnya seperti E4 dan F4, berarti
harus beribet ria agar tidak volatile. Fungsi Index, Match, Address bisa
digunakan.

Sebenarnya ada fungsi evaluate yang juga bisa digunakan, sayangnya harus
diletakkan pada sebuah nama range dan sayangnya, pengubahan nilai di cell
yang akan diambil hasilnya tidak akan memicu si evaluate untuk dikalkulasi
alias tidak akan membuat cell yang menggunakan fungsi Evaluate akan ikut
berubah hasilnya. Pada kasus ini, jika cell hasil memanfaatkan evaluate
melalui nama range tertentu yang akan mengambil nilai di A1, maka
pengubahan di cell A1 tidak akan mengubah cell hasil. Jika yang diubah
adalah cell yang dirujuk oleh evaluate (dalam hal ini cell e4 dan f4 yang
menunjukkan alamat cell yang akan diambil nilainya), maka cell hasil akan
berubah.

Pakai Index, Match, Address saja ya... (supaya lebih mirip dengan fungsi
Indirect)
Kolom di E4 (bernilai 'A') dan baris di F4 (bernilai 1)
di cell hasil diberi formula :
=Index( $1:$65536 , F4 , Match( "$" & E4 & "$1" , Index( Address( 1 ,
Column($1:$1) ) , 0 ) , 0 ) )

Cara lainnya lagi adalah dengan VBA event change (tapi cara ini kurang
keren karena ndak tricky n ndak memanfaatkan fitur Formula yang menjadi
kekuatan utama Excel)

Wassalamu'alaikum Wr. Wb.
Kid.




2014-10-14 3:48 GMT+11:00 [email protected] [belajar-excel] <
[email protected]>:

>
>
> Assalamualaikum, Wr. Wb.
>
> Sebelumnya saya ucapkan terima kasih,
> karena saya baru bergabung di grup ini.
>
> saya lampirkan file excel,
> Silahkan download terlebih dahulu.
>
> ---
>
> Dari gambar tersebut,
> di Cells C4
> saya tulis rumus
> =D4&E4&F4
> sehingga penggabungan dari cells D4, E4, dan F4
> dan hasilnya akan terlihat tampilan
> =A1
>
> ---
>
> Saya mau tanyakan yaitu :
> Bagaimana cara tampilan di cells C4
> bukan tampilan  =A1
> tapi terlihat tampilan langsung nilai di cells A1
> secara otomatis yaitu angka 20
>
> ---
>
> Kalau cara copy, lalu paste special (values)
> saya sudah tahu
>
> ---
>
> saya ingin tahu rumus excel nya secara otomatis,
> tanpa cara copy, lalu paste special (values)
>
> ---
>
> Terima kasih,
> Wassalamualaikum, Wr. Wb.
>
>
>  
>

Kirim email ke