
Před pár týdny mi jeden čtenář poslal zajímavou otázku ohledně sledování „zastaveného času“ flotily nákladních vozidel. Nákladní automobily jsou sledovány pomocí GPS, takže je u každého nákladního vozu zaznamenána poloha v každou hodinu dne. Data vypadají asi takto:
Výzva: Jaký vzorec ve sloupci N správně vypočítá celkový počet zastavených hodin?
Trochu jsem to zjednodušil nahrazením skutečných souřadnic GPS místy označenými AE, ale koncept zůstává stejný.
Hádanka
Na kolik hodin byl každý kamion zastaven?
Nebo v aplikaci Excel-speak:
Jaký vzorec vypočítá celkový počet hodin, kdy byl každý kamion zastaven?
Například víme, že Truck1 byl zastaven na 1 hodinu, protože jeho poloha byla zaznamenána jako „A“ ve 16:00 a 17:00.
Předpoklady
- Existuje 5 míst s těmito názvy: A, B, C, D, E
- Nákladní auto na stejném místě po dobu dvou po sobě jdoucích hodin = 1 hodina zastaveno
Máte vzorec, který to zvládne?
Stáhněte si sešit a sdílejte svůj vzorec v komentářích níže. Stejně jako u mnoha věcí v aplikaci Excel existuje mnoho způsobů, jak tento problém vyřešit!
Odpověď (kliknutím rozbalíte)V tomto případě je univerzální SUMPRODUCT elegantním způsobem, jak tento problém vyřešit:
=SUMPRODUCT(--(C6:K6=D6:L6))
Rozsahy poznámek C6: K6 jsou posunuty o jeden sloupec. V podstatě porovnáváme „předchozí pozice“ s „následujícími pozicemi“ a počítáme případy, kdy je předchozí pozice stejná jako následující pozice.
Pro data v řádku 6 vytvoří operace porovnání pole TRUE FALSE hodnot:
(FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,TRUE)
Dvojitý zápor pak vynutí hodnoty TRUE FALSE na jedničky a nuly a SUMPRODUCT jednoduše součet pole, což je 1:
=SUMPRODUCT((0,0,0,0,0,0,0,0,1))