
Pred pár týždňami mi čitateľ poslal zaujímavú otázku o sledovaní „zastaveného času“ flotily nákladných vozidiel. Nákladné vozidlá sú sledované pomocou GPS, takže sa pre každú z nich zaznamenáva poloha v každú hodinu dňa. Údaje vyzerajú asi takto:
Výzva: aký vzorec v stĺpci N správne vypočíta celkový počet zastavených hodín?
Trochu som to zjednodušil nahradením skutočných súradníc GPS miestami označenými AE, ale koncepcia zostáva rovnaká.
Hádanka
Na koľko hodín bol každý kamión zastavený?
Alebo v Exceli:
Aký vzorec vypočíta celkový počet hodín zastavenia každého nákladného vozidla?
Napríklad vieme, že Truck1 bol na 1 hodinu zastavený, pretože jeho poloha bola zaznamenaná ako „A“ v 16:00 a 17:00.
Domnienky
- Existuje 5 lokalít s týmito názvami: A, B, C, D, E
- Nákladné auto na rovnakom mieste dve hodiny po sebe = 1 hodina zastavilo
Máte vzorec, ktorý to urobí?
Stiahnite si zošit a zdieľajte svoj vzorec v komentároch nižšie. Rovnako ako v prípade mnohých iných vecí v programe Excel, existuje veľa spôsobov, ako tento problém vyriešiť!
Odpoveď (kliknutím rozbalíte)V takom prípade je univerzálny produkt SUMPRODUCT elegantným spôsobom riešenia tohto problému:
=SUMPRODUCT(--(C6:K6=D6:L6))
Rozsahy poznámok C6: K6 sú posunuté o jeden stĺpec. V podstate porovnávame „predchádzajúce pozície“ s „nasledujúcimi pozíciami“ a počítame prípady, keď je predchádzajúca pozícia rovnaká ako ďalšia pozícia.
Pre údaje v riadku 6 vytvorí operácia porovnania pole hodnôt TRUE FALSE:
(FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,TRUE)
Dvojitý zápor potom vynúti hodnoty TRUE FALSE na jednotky a nuly a SUMPRODUCT jednoducho suma poľa, ktorá je 1:
=SUMPRODUCT((0,0,0,0,0,0,0,0,1))