Sebaran 31 Kecamatan Kabupaten Jember
Klik ubin kecamatan untuk menyaring daftar santri secara instan
0
50+ santri
| No | Stambuk | Nama Lengkap & Kelahiran | Jenjang & Kelas | Kamar | Desa & Kecamatan | Himpunan | Kriteria K·H·A | Rincian |
|---|
Menampilkan data...
Sebaran Santri per Tingkat Kelas
Komposisi Kriteria Jember Terpenuhi
12 Kecamatan dengan Santri Mukim Terbanyak
Rekap Kriteria Domisili
4 Kriteria| Kriteria | Jumlah | Porsi |
|---|
Rekap Tingkat Kelas
15 Tingkat| Tingkat Kelas | Jenjang | Jumlah | Porsi |
|---|
Rekap per Kecamatan
31 Kecamatan| Kecamatan | Jumlah | Porsi |
|---|
Daftar Pengurus Pondok & MHM Asal Kabupaten Jember
| No | Nama Pengurus | Kamar | Lembaga | Jabatan / Bidang | Wilayah Tugas | Alamat Asal |
|---|
Rumus Spreadsheet Master
Rumus Kolom BL (Kriteria Terpenuhi)
=IF(ISBLANK(H3), "", TEXTJOIN(" & ", TRUE, IF(ISNUMBER(SEARCH("Jember", K3)), "Kelahiran", ""), IF(ISNUMBER(SEARCH("Jember", F3)), "Himpunan Pelajar", ""), IF(ISNUMBER(SEARCH("Jember", X3)), "Alamat", "")))
Total Santri (Sel B6)
=COUNTA('DATA SANTRI JEMBER'!H3:H)
Santri Kab. Jember (Sel D6)
=COUNTIF('DATA SANTRI JEMBER'!X3:X, "*Jember*")
Anggota HP Jember (Sel F6)
=COUNTIF('DATA SANTRI JEMBER'!F3:F, "*Jember*")
Prosedur Pemasangan Apps Script
- Buka lembar kerja utama di Google Sheets Master.
- Pilih menu Ekstensi → Apps Script.
- Hapus kode bawaan, lalu tempel seluruh skrip dari panel di sebelah kanan.
- Jalankan fungsi
perbaruiSemuaRumusJembersatu kali. - Seluruh rumus rekapitulasi akan langsung aktif dan menghitung otomatis.
Skrip Otomasi Google Apps Script
function onOpen() {
const ui = SpreadsheetApp.getUi();
ui.createMenu('Data Jember')
.addItem('Perbarui Semua Rumus Otomatis', 'perbaruiSemuaRumusJember')
.addItem('Bersihkan Baris Kosong', 'bersihkanBarisKosong')
.addToUi();
}
function perbaruiSemuaRumusJember() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
// 1. UPDATE FORMULA DATA SANTRI JEMBER (Kolom BL)
const sheetSantri = ss.getSheetByName('DATA SANTRI JEMBER');
if (sheetSantri) {
const lastRow = sheetSantri.getLastRow();
if (lastRow >= 3) {
const numRows = lastRow - 2;
const formulasBL = [];
for (let i = 0; i < numRows; i++) {
const row = 3 + i;
const formula = `=IF(ISBLANK(H${row}), "", TEXTJOIN(" & ", TRUE, IF(ISNUMBER(SEARCH("Jember", K${row})), "Kelahiran", ""), IF(ISNUMBER(SEARCH("Jember", F${row})), "Himpunan Pelajar", ""), IF(ISNUMBER(SEARCH("Jember", X${row})), "Alamat", "")))`;
formulasBL.push([formula]);
}
sheetSantri.getRange(3, 64, numRows, 1).setFormulas(formulasBL);
}
}
// 2. UPDATE FORMULA RINGKASAN & STATISTIK
const sheetRekap = ss.getSheetByName('RINGKASAN & STATISTIK');
if (sheetRekap) {
sheetRekap.getRange('B6').setFormula("=COUNTA('DATA SANTRI JEMBER'!H3:H)");
sheetRekap.getRange('D6').setFormula("=COUNTIF('DATA SANTRI JEMBER'!X3:X, \"*Jember*\")");
sheetRekap.getRange('F6').setFormula("=COUNTIF('DATA SANTRI JEMBER'!F3:F, \"*Jember*\")");
for (let r = 11; r <= 17; r++) {
sheetRekap.getRange(`C${r}`).setFormula(`=COUNTIF('DATA SANTRI JEMBER'!$BL$3:$BL, B${r})`);
sheetRekap.getRange(`D${r}`).setFormula(`=IF($B$6>0, C${r}/$B$6, 0)`);
sheetRekap.getRange(`D${r}`).setNumberFormat('0.0%');
}
sheetRekap.getRange('B18').setValue('TOTAL');
sheetRekap.getRange('C18').setFormula('=SUM(C11:C17)');
sheetRekap.getRange('D18').setFormula('=SUM(D11:D17)');
sheetRekap.getRange('D18').setNumberFormat('0.0%');
for (let r = 11; r <= 24; r++) {
sheetRekap.getRange(`G${r}`).setFormula(`=COUNTIF('DATA SANTRI JEMBER'!$B$3:$B, F${r})`);
}
sheetRekap.getRange('F25').setValue('TOTAL KELAS');
sheetRekap.getRange('G25').setFormula('=SUM(G11:G24)');
for (let r = 29; r <= 43; r++) {
sheetRekap.getRange(`C${r}`).setFormula(`=COUNTIF('DATA SANTRI JEMBER'!$W$3:$W, B${r})`);
}
sheetRekap.getRange('B44').setValue('TOTAL KECAMATAN');
sheetRekap.getRange('C44').setFormula('=SUM(C29:C43)');
}
SpreadsheetApp.getActiveSpreadsheet().toast('Seluruh rumus otomatis berhasil diperbarui.', 'Sukses', 5);
}