Sekedar catatan saja, buat rumus untuk menghitung umur seseorang, lewat formula field. Asumsi field tanggal lahir adalah Date_of_Birth__c
IF(
MONTH(TODAY())>MONTH( Date_of_Birth__c ),
YEAR(TODAY())-YEAR(Date_of_Birth__c ),
IF(AND(MONTH(TODAY()) = MONTH(Date_of_Birth__c ),
DAY(TODAY()) >= DAY(Date_of_Birth__c )),
YEAR(TODAY())-YEAR(Date_of_Birth__c ),
(YEAR(TODAY())-YEAR(Date_of_Birth__c ))-1)
)
Entah cukup akurat atau tidak, tapi secara umum berjalan dengan baik :)
Sekedar tambahan untuk, berikut rumus untuk menghitung Tanggal Akhir = Tanggal Awal + Durasi (Bulan)
Agak rumit karena penjumlahan di formula hanya untuk hari, sementara dalam satu bulan jumlah hari berbeda-beda. Sebenarnya yang sulit adalah menentukan tanggal akhir, agar tanggal tidak melebihi jumlah hari di bulan tertentu.
Jika Y adalah tanggal akhir, X tanggal awal dan D adalah durasi dalam bulan, kira-kira berikut rumusnya.
DATE(
YEAR(X) + FLOOR((MONTH(X) + D) / 12),
IF(MOD((MONTH(X) + D), 12) == 0, 12, MOD((MONTH(X) + D), 12)),
IF ( DAY(X) < 28, DAY(X),
IF (MOD((MONTH(X) + D), 12) == 2, 28,
IF ( DAY(X) < 31, DAY (X),
CASE (MOD((MONTH(X) + D), 12),
1, 31,
3, 31,
4, 30,
5, 31,
6, 30,
7, 31,
8, 31,
9, 30,
10, 31,
11, 30,
31
)
)
)
)
)
Tiga puluh menit ngoprek rumus di atas. Aku masih malas handle tahun kabisat di sini, jadi aku pukul rata aja, tiap Februari selalu berakhir di tanggal 28 hehehe
IF(
MONTH(TODAY())>MONTH( Date_of_Birth__c ),
YEAR(TODAY())-YEAR(Date_of_Birth__c ),
IF(AND(MONTH(TODAY()) = MONTH(Date_of_Birth__c ),
DAY(TODAY()) >= DAY(Date_of_Birth__c )),
YEAR(TODAY())-YEAR(Date_of_Birth__c ),
(YEAR(TODAY())-YEAR(Date_of_Birth__c ))-1)
)
Entah cukup akurat atau tidak, tapi secara umum berjalan dengan baik :)
Sekedar tambahan untuk, berikut rumus untuk menghitung Tanggal Akhir = Tanggal Awal + Durasi (Bulan)
Agak rumit karena penjumlahan di formula hanya untuk hari, sementara dalam satu bulan jumlah hari berbeda-beda. Sebenarnya yang sulit adalah menentukan tanggal akhir, agar tanggal tidak melebihi jumlah hari di bulan tertentu.
Jika Y adalah tanggal akhir, X tanggal awal dan D adalah durasi dalam bulan, kira-kira berikut rumusnya.
DATE(
YEAR(X) + FLOOR((MONTH(X) + D) / 12),
IF(MOD((MONTH(X) + D), 12) == 0, 12, MOD((MONTH(X) + D), 12)),
IF ( DAY(X) < 28, DAY(X),
IF (MOD((MONTH(X) + D), 12) == 2, 28,
IF ( DAY(X) < 31, DAY (X),
CASE (MOD((MONTH(X) + D), 12),
1, 31,
3, 31,
4, 30,
5, 31,
6, 30,
7, 31,
8, 31,
9, 30,
10, 31,
11, 30,
31
)
)
)
)
)
Tiga puluh menit ngoprek rumus di atas. Aku masih malas handle tahun kabisat di sini, jadi aku pukul rata aja, tiap Februari selalu berakhir di tanggal 28 hehehe
Comments