Я не знаю, який "стандартний" формат дати / часу вбудований для гарного форматування таким чином, так що так, ваша спроба в користувацькому форматі здається доречною.
Однак причина, яка не працює для вас, полягає в тому, що значення часу не виражаються в секундах, як ви припускаєте - вони зберігаються в десятковому значенні, де 1 - 24 години.
Отже, ви повинні використовувати десяткові значення, еквівалентні бажаним точкам перерви. На жаль, здається, що Excel обмежує кількість точок перерви до трьох, тому я не можу отримати додаткові точки прориву на "1 хвилину" (сингулярно) тощо. Навіть якби було більше точок прориву, ви ніколи не могли б досягти "N годин", оскільки ви б потрібні нескінченні точки перерви (немає умови, яка б визначала нульову хвилину).
Тож найближче, що я можу отримати зі спеціальним форматом:
[<0.000694]"0 minutes";[<0.041666][m] "minutes";h "hours", m "minutes"
Що дає наступне:
00:00:00 0 minutes
00:01:00 1 minutes
00:02:00 2 minutes
00:03:00 3 minutes
01:00:00 1 hours, 0 minutes
01:01:00 1 hours, 1 minutes
02:00:00 2 hours, 0 minutes
02:01:00 2 hours, 1 minutes
01:03:00 1 hours, 3 minutes
23:59:59 23 hours, 59 minutes
Напевно, замість цього я б запропонував написати функцію VBA та відформатувати поле у формулі.
Але також я б запропонував вам подумати, чи варто в першу чергу значення. Зберігання минулого періоду було б краще в певній одиниці (наприклад, хвилин у вашому випадку). Ви все ще не могли мати нескінченну точку перерви, але ви уникаєте очевидної проблеми з вищезазначеним - вона перекидається через 23 години 59 хвилин.
EDIT : Для розваги я склав формулу, яка дає бажані результати. Це не такий формат, як запитує ваше питання, а тому, що це точно не дало бажаного результату, я вважав, що це може бути хорошою альтернативою:
=if(hour(a1)=0,if(MINUTE(A1)=0,"0 minutes",if(minute(a1)=1,"1 minute",minute(a1) & " minutes")),if(hour(a1)=1,if(MINUTE(A1)=0,"1 hour",if(minute(a1)=1,"1 hour, 1 minute","1 hour, " & minute(a1) & " minutes")),if(MINUTE(A1)=0,hour(A1) & " hours",if(minute(a1)=1,hour(A1) & " hours, 1 minute",hour(A1) & " hours, " & minute(a1) & " minutes"))))
00:00:00 0 minutes
00:01:00 1 minute
00:02:00 2 minutes
00:03:00 3 minutes
01:00:00 1 hour
01:01:00 1 hour, 1 minute
02:00:00 2 hours
02:01:00 2 hours, 1 minute
01:03:00 1 hour, 3 minutes
23:59:59 23 hours, 59 minutes