- Вы хотите получить длительность как единицу секунды.
- Вы хотите добиться этого, используя встроенные формулы электронной таблицы.
Еслимое понимание правильное, как насчет этих примеров формул?
Пример формулы:
=VALUE(REGEXREPLACE(IMPORTXML(A2,"//*[@itemprop='duration']/@content"),"PT(\d+)M(\d+)S","00:$1:$2")*24*3600)
- В этом примере формулы ячейка "A2" имеет URL-адрес типа
https://www.youtube.com/watch?v=###
. - Полученное время продолжительности преобразуется в формат времени, а значение извлекается как секунда.
- Например, когда
IMPORTXML(A2,"//*[@itemprop='duration']/@content")
возвращает PT1M10S
, VALUE(REGEXREPLACE("PT1M10S","PT(\d+)M(\d+)S","00:$1:$2")*24*3600)
возвращает 70
. - Даже если время превышает 1 час, например, значение типа
PT123M45S
возвращается. И =VALUE(REGEXREPLACE("PT123M45S","PT(\d+)M(\d+)S","00:$1:$2")*24*3600)
возвращает 7425
.
Ссылки:
Если я неправильно понял ваш вопрос, и это был не тот результат, который вы хотите, я приношу свои извинения.
Добавлено:
Как другой шаблон, еслиВы хотите использовать =REGEXEXTRACT(IMPORTXML(A2,"//*[@itemprop='duration']/@content"),"PT(\d+)M(\d+)S")
, как насчет следующей формулы?
Пример формулы:
=QUERY(ARRAYFORMULA(VALUE(REGEXEXTRACT(IMPORTXML(A2,"//*[@itemprop='duration']/@content"),"PT(\d+)M(\d+)S"))),"SELECT Col1*60+Col2 label Col1*60+Col2 ''")
- В этой формуле используются значения из массива и рассчитываются.