Зачастую можно встретить текстовые строки, которые содержат время, например 21ч. 19 мин. 1 сек. или 21 час 19 минут 30 секунд. Как правило, такие текстовые сроки генерируются различными программами, поэтому имеют строгую структуру-формат, что облегчает работу с ними. Извлечем из них значение времени в стандартном для MS EXCEL формате чч:мм:сс
На картинке выше в столбце В содержится текстовая строка, а правее столбец С содержащий значения в формате Время. Со значениями из правого столбца можно производить вычисления, а с текстовыми значениями этого делать, понятно, не получится. В этом и состоит основная причина данного преобразования.
Понятно, что время записать в текстовой форме можно по разному, например 5 ч. 3 мин. или 05 часов 03 минуты или 5ч03м и т.п. Чем проще формат, тем проще его преобразовать: формулы короче и проще или можно применить стандартный инструмент Текст-по-столбцам, например. Так как форматов бесконечно много, то универсальной формулы не существуют: все они работают для определенных шаблонов текстовых строк. Постараемся написать формулы для максимально широкого набора текстовых строк.
Напишем формулы для перевода следующего типа текстовой строки: 21ч. 19 мин. 1 сек. Формулы в файле примера будут работать также если строка содержит только минуты 59 мин. или только часы или только секунды или будет отсутствовать какой либо из этих компонентов (см. картинку выше, столбец В). Кроме того, единицы времени могут быть практически любыми: минут, мин., м, minutes. Единственное, они должны не иметь склонения. Также не имеет значения наличие пробелов в строке, а минуты/часы/секунды могут быть записаны как в формате с 0 так и без (07 сек или 7 сек).
В файле примера для формул создано несколько дополнительных столбцов, чтобы логика вычислений была более прозрачной:
Если в вашей строке используется вместо "сек." единица измерения "секунд" или "сек" (без точки), то просто откорректируйте ячейки В7:В9. Формулы продолжат работать.
Если в исходных текстовых строках используются различные склонения: "секунд", "секунда", "секунды", то автозаменой (CTRL+F) уберите из исходных текстовых строк все слова "секунда" и "секунды", заменив на "секунд".
© Copyright 2013 - 2024 Excel2.ru. All Rights Reserved
Комментарии