
Prije nekoliko tjedana čitatelj mi je poslao zanimljivo pitanje o praćenju "zaustavljenog vremena" za flotu kamiona. Kamione prati GPS, tako da se za svaki kamion bilježi položaj svakog sata u danu. Podaci izgledaju otprilike ovako:
Izazov: koja će formula u stupcu N ispravno izračunati ukupan broj zaustavljenih sati?
To sam malo pojednostavnio zamjenom stvarnih GPS koordinata mjestima s oznakom AE, ali koncept ostaje isti.
Slagalica
Na koliko sati je zaustavljen svaki kamion?
Ili, u Excel-govoru:
Koja će formula izračunati ukupni broj sati zaustavljanja svakog kamiona?
Na primjer, znamo da je Truck1 zaustavljen na 1 sat jer je njegovo mjesto zabilježeno kao "A" i u 16 i u 17 sati.
Pretpostavke
- Postoji 5 lokacija s ovim imenima: A, B, C, D, E
- Kamion na istom mjestu dva uzastopna sata = 1 sat zaustavljen
Imate formulu koja će to učiniti?
Preuzmite radnu knjigu i podijelite svoju formulu u komentarima u nastavku. Kao i kod toliko stvari u Excelu, i na ovaj način postoji mnogo načina da se riješi!
Odgovor (kliknite za proširenje)U ovom je slučaju svestrani SUMPRODUCT elegantan način za rješavanje ovog problema:
=SUMPRODUCT(--(C6:K6=D6:L6))
Rasponi bilješki C6: K6 se pomiču za jedan stupac. U osnovi uspoređujemo "prethodne pozicije" sa "sljedećim pozicijama" i računamo slučajeve kada je prethodna pozicija ista kao i sljedeća pozicija.
Za podatke u retku 6, operacija usporedbe stvara niz TRUE FALSE vrijednosti:
(FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,TRUE)
Dvostruki negativ prisiljava vrijednosti TRUE FALSE na jedinice i nule, a SUMPRODUCT jednostavno zbroj niza, koji je 1:
=SUMPRODUCT((0,0,0,0,0,0,0,0,1))