Izazov formule - razlika od zadnjeg ulaska - Puzzle

Sadržaj

Kontekst

Prije nekoliko tjedana imao sam zanimljivo pitanje čitatelja o praćenju debljanja ili gubitka u jednostavnoj tablici.

Ideja je unijeti novu težinu svaki dan i izračunati razliku u odnosu na prethodni dan. Kad svaki dan ima unos, formula je jednostavna:

Razlika se izračunava formulom poput ove, unosi se u D6 i kopira u tablicu:

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

Međutim, kada se propusti jedan ili više dana, stvari pođu po zlu i izračunati rezultat nema smisla:

Ne, niste dobili 157 kilograma u jednom danu

Problem je što formula koristi praznu ćeliju u izračunu, koja se izračunava nulom. Ono što nam treba je način lociranja i korištenja posljednjeg pondera zabilježenog u stupcu C.

Izazov

Koja će formula izračunati razliku od zadnjeg unosa, čak i kad su dani preskočeni?

Željeni rezultat - razlika prema zadnjem prethodnom unosu

Pretpostavke

  1. Jedna formula unosi se u D6 i kopira prema dolje (tj. Ista formula u svim stanicama)
  2. Formula mora obrađivati ​​jedan ili više prethodnih praznih unosa
  3. Uklanjanje praznih unosa (redaka) nije dopušteno
  4. Nije dopušten nijedan pomoćni stupac

Napomena: jedan očit put je uporaba formule Nested IF. To bih obeshrabrio, jer se neće dobro prilagođavati nepoznatom broju uzastopnih praznih unosa.

Imate rješenje? Ostavite komentar sa predloženom formulom u nastavku.

Sam sam hakirao formulu i podijelit ću svoje rješenje nakon što pametnim čitateljima dam vremena da predaju vlastite formule.

Dodatni kredit

Tražite li još izazova? Evo istog rezultata s primijenjenim prilagođenim formatom broja. Koji je format broja? Savjet: Prebrisao sam ovo od Mikea Alexandera na njegovom blogu Bacon Bits.

Odgovor (kliknite za proširenje)

U nastavku se nalaze stvarno dobra predložena rješenja, uključujući vrlo kompaktno i elegantno rješenje Panagiotisa Stathopoulosa. Za zapisnik, odlučio sam se za LOOKUP i širi asortiman:

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

Mehanika LOOKUP-a za ovu vrstu problema objašnjena je u ovom primjeru.

Zanimljivi članci...