Sabtu, 22 Desember 2018

[belajar-excel] Digest Number 4675

3 Messages

Digest #4675

Messages

Fri Dec 21, 2018 11:27 pm (PST) . Posted by:

"Agus"

Wa 'alaikumusalam Warahmatulah Wabarakatuh
Dear Cheivory,
Coba di H2 Diketik formula:
=IF(COUNTIFS($B$2:B2,B2,$G$2:G2,">="&F2)>1,"sedang state
"&INDEX(Table1[STASE],MATCH(B2,Table1[NIM],0)),"")
Copy ke bawah

Wasalamu'alaikum Warahmatulah Wabarakatuh
NangAgus
On 12/22/2018 10:17, cheivory_bridge@yahoo.com [belajar-excel] wrote:
>
> Yth. B-Exceller
>
>
> Assalaamu'alaikum Wr Wb
>
>
> Mohon kiranya dapat membantu menyelesaikan kasus terlampir.
>
>
> Terima kasih.
>
>
> Wassalaamu'alaikum Wr Wb
>
>
> Ari
>
>

Sat Dec 22, 2018 4:38 am (PST) . Posted by:

cheivory_bridge

terima kasih Pak Nang



Mohon maaf, ternyata data dummy yang saya kirimakn sebelumnya kurang mewakili data asli. sehingga hasil yang diharapkan ada yang belum sesuai.


Mohon solusinya .. terlampir data dummy sudah diperbarui


Terima kasih

Sat Dec 22, 2018 10:18 am (PST) . Posted by:

"Mr. Kid" nmkid.family@ymail.com

Wa'alaikumussalam wr wb

Misal :
- kolom Mulai disebut CM, dengan nilai mulai yang diperiksa adalah NM
- kolom Selesai disebut CS, dengan nilai selesai yang diperiksa adalah NS

Beririsan atau himpunan bagian ditentukan dengan memeriksa 2 keadaan yang
memungkinkan, yaitu :
1. jika nilai mulai (NM) dalam rentang dari setiap nilai di CM sampai
dengan CS -> (NM>=CM)*(NM<=CS)
Contoh : nilai rentang 7 sampai dengan 12 beririsan dengan nilai
rentang 5 sampai dengan 9 atau *sebagai *himpunan bagian dari rentang 6
sampai 17
*** tidak perlu periksa nilai selesai, cukup nilai mulai terhadap batas
rentang bawah dan atas baris lainnya
atau [+]
2. jika nilai mulai (NM) sebelum setiap nilai di CM, tetapi nilai selesai
(NS) lebih dari sama dengan CM -> (NM<CM)*(NS>=CM)
Contoh : nilai rentang 7 sampai dengan 12 beririsan dengan nilai
rentang 10 sampai 15 atau *memiliki *himpunan bagian rentang nilai 8 sampai
11
Jadi bunyi kriteria rentangnya adalah ( (NM>=CM)*(NM<=CS) +
(NM<CM)*(NS>=CM) ) -> kriteria 1 : rentang nilai

Karena pemeriksaan rentang nilai tidak boleh dilakukan pada dirinya sendiri
(terhadap record itu sendiri), maka perlu kriteria 2, yaitu ( Row(NM) <>
Row(CM) )

Susunan kriteria 1 dan kriteria 2 menjadi :
( (NM>=CM)*(NM<=CS) + (NM<CM)*(NS>=CM) ) * ( Row(NM) <> Row(CM) )

Jika ada kriteria lainnya, silakan ditambahkan sendiri, misal kriteria 3,
nilai kode (NKODE) harus yang sama saja di kolom kode (CKODE) -> (
NKODE=CKODE )
Jadinya, susunan kriteria 1 sampai 3 menjadi :
( (NM>=CM)*(NM<=CS) + (NM<CM)*(NS>=CM) ) * ( Row(NM) <> Row(CM) )
* ( NKODE=CKODE )

Hasil dari kalkulasi seluruh kriteria adalah array n record x 1 kolom yang
berisi angka 1 (ada irisan atau himpunan bagian), atau nilai 0 (terpisah)

Ketika ingin mengambil salah satu dari sekian hasil yang beririsan atau
himpunan bagian, maka perlu summary dengan MIN (untuk dapat record pertama
yang beririsan atau himpunan bagian) atau dengan MAX (untuk dapat record
terakhir yang beririsan atau himpunan bagian).

Khusus pada kebutuhan untuk mendapatkan record pertama yang beririsan atau
himpunan bagian yang menggunakan MIN, maka perlu dihindari hasil kalkulasi
kriteria bernilai 0, yaitu dengan menjadikan proses kalkulasi kriteria
sebagai bilangan penyebut. Jadi, susunan kriteria pada penggunaan MIN
menjadi :
1 / ( ( (NM>=CM)*(NM<=CS) + (NM<CM)*(NS>=CM) ) * ( Row(NM)
<> Row(CM) ) * ( NKODE=CKODE ) )
dan nilai 0 hasil kalkulasi kriteria bisa dibuang dengan memanfaatkan
IFError :
IFError( 1 / ( ( (NM>=CM)*(NM<=CS) + (NM<CM)*(NS>=CM) ) *
( Row(NM) <> Row(CM) ) * ( NKODE=CKODE ) ) , "Kid" )
Nomor record yang memenuhi kalkulasi kriteria bernilai 1 bisa dimasukkan ke
dalam proses kalkulasi tersebut, menggantikan nilai 1, misal
IFError( ( Row(CM) - Row( header_data ) ) / ( (
(NM>=CM)*(NM<=CS) + (NM<CM)*(NS>=CM) ) * ( Row(NM) <> Row(CM) ) *
( NKODE=CKODE ) ) , "Kid" )
Jadi, formula akhir bisa berbentuk :
=Min( IFError( ( Row(CM) - Row( header_data ) ) / ( (
(NM>=CM)*(NM<=CS) + (NM<CM)*(NS>=CM) ) * ( Row(NM) <> Row(CM) ) *
( NKODE=CKODE ) ) , "Kid" ) )
sebagai array formula.

Jika ingin mendapatkan record terakhir yang memenuhi kriteria, maka
menggunakan MAX :
=Max( ( (NM>=CM)*(NM<=CS) + (NM<CM)*(NS>=CM) ) * ( Row(NM) <>
Row(CM) ) * ( NKODE=CKODE ) )
Ketika ingin mendapatkan nomor record yang sesuai kebutuhan, maka bisa
dimasukkan ke dalam formula sebagai pengali :
=Max( ( Row(CM) - Row( header_data ) ) * ( (NM>=CM)*(NM<=CS) +
(NM<CM)*(NS>=CM) ) * ( Row(NM) <> Row(CM) ) * ( NKODE=CKODE ) )

Kira-kira begitulah...

Wassalamu'alaikum wr wb
Kid

On Sat, Dec 22, 2018 at 10:49 AM cheivory_bridge@yahoo.com [belajar-excel] <
belajar-excel@yahoogroups.com> wrote:

>
>
> Yth. B-Exceller
>
>
> Assalaamu'alaikum Wr Wb
>
>
> Mohon kiranya dapat membantu menyelesaikan kasus terlampir.
>
>
> Terima kasih.
>
>
> Wassalaamu&#39;alaikum Wr Wb
>
>
> Ari
>
>
>
============================================================
Pojok Lowongan Kerja yang disediakan milis :
http://milis-belajar-excel.1048464.n5.nabble.com/Pojok-Lowongan-Kerja-f5725753.html
*** Posting lowongan kerja : ke link tersebut dan klik New Topic
============================================================
bergabung ke milis (subscribe), kirim mail kosong ke: belajar-excel-subscribe@yahoogroups.com
posting ke milis, kirimkan ke: belajar-excel@yahoogroups.com
berkunjung ke web milis : http://tech.groups.yahoo.com/group/belajar-excel/messages
melihat file archive / mendownload lampiran : http://www.mail-archive.com/belajar-excel@yahoogroups.com/
atau (sejak 25-Apr-2011) bisa juga di : http://milis-belajar-excel.1048464.n5.nabble.com/
menghubungi moderators & owners: belajar-excel-owner@yahoogroups.com
keluar dari membership milis (UnSubscribe), kirim mail kosong ke : belajar-excel-unsubscribe@yahoogroups.com
---------------------------------------------------------------------

Tidak ada komentar:

Posting Komentar