Formula tantangan - perbedaan dari entri terakhir - Membingungkan

Daftar Isi

Isi

Beberapa minggu yang lalu, saya mendapat pertanyaan menarik dari seorang pembaca tentang melacak kenaikan atau penurunan berat badan dalam tabel sederhana.

Idenya adalah memasukkan bobot baru setiap hari, dan menghitung selisihnya dari hari sebelumnya. Ketika setiap hari ada entri, rumusnya langsung:

Selisihnya dihitung dengan rumus seperti ini, dimasukkan di D6, dan disalin ke bawah tabel:

=IF(C6"",C6-C5,"")

Namun, ketika satu hari atau lebih terlewat, semuanya menjadi kacau, dan hasil yang dihitung tidak masuk akal:

Tidak, berat badan Anda tidak bertambah 157 pound dalam satu hari

Masalahnya adalah rumus menggunakan sel kosong dalam penghitungan, yang mengevaluasi ke nol. Yang kita butuhkan adalah cara untuk mencari dan menggunakan bobot terakhir yang dicatat di kolom C.

Tantangan

Rumus apa yang akan menghitung selisih dari entri terakhir, bahkan ketika hari-hari telah dilewati?

Hasil yang diinginkan - perbedaan menggunakan entri sebelumnya yang terakhir

Asumsi

  1. Formula tunggal dimasukkan di D6 dan disalin (yaitu rumus yang sama di semua sel)
  2. Rumus harus menangani satu atau banyak entri kosong sebelumnya
  3. Menghapus entri kosong (baris) tidak diperbolehkan
  4. Tidak ada kolom pembantu yang diperbolehkan

Catatan: satu jalur yang jelas adalah menggunakan rumus IF bersarang. Saya akan mencegah hal ini, karena tidak akan diskalakan dengan baik untuk menangani sejumlah entri kosong berturut-turut yang tidak diketahui.

Punya solusi? Tinggalkan komentar dengan rumus yang Anda usulkan di bawah ini.

Saya sendiri meretas rumus, dan saya akan membagikan solusi saya setelah saya memberikan waktu kepada pembaca yang cerdas untuk mengirimkan rumus mereka sendiri.

Kredit tambahan

Mencari lebih banyak tantangan? Berikut hasil yang sama, dengan format angka kustom diterapkan. Apa format angka? Petunjuk: Saya mengambil ini dari Mike Alexander di blog Bacon Bits-nya.

Jawab (klik untuk memperluas)

Ada solusi yang sangat bagus yang diusulkan di bawah ini, termasuk solusi yang sangat kompak dan elegan oleh Panagiotis Stathopoulos. Sebagai catatan, saya menggunakan LOOKUP dan rentang yang berkembang:

=IF(C6"",C6-LOOKUP(2,1/($C$5:C5""),$C$5:C5),"")

Mekanisme LOOKUP untuk jenis masalah ini dijelaskan dalam contoh ini.

Artikel yang menarik...