Как рассчитать разницу в часах из текстовой строки «19: 00–20: 00» или «11: 00–12: 00» с помощью формулы Excel

Я хочу рассчитать количество часов и минут из заданной текстовой строки. В настоящее время я создал формулу ниже, используя некоторые встроенные функции Excel,

Пример текстовой строки:

7.00pm to 8.00pm or 9.00am to 11.45pm or 1.20pm to 3.40pm

Формула создана-

=CONCATENATE(REPLACE(SUM(NUMBERVALUE(REPLACE(RIGHT(A1,LEN(A1)-11),5,2,""))-NUMBERVALUE(REPLACE(A1,5,100,""))),2,3," Hour")," ",CONCATENATE(RIGHT(SUM(NUMBERVALUE(REPLACE(RIGHT(A1,LEN(A1)-11),5,2,""))-NUMBERVALUE(REPLACE(A1,5,100,""))),1)*10, " Minutes"))

Вышеупомянутая формула получает числовое значение из заданной строки и затем вычисляет разницу, после этого она отделяет значение и затем объединяется с заданным текстом.

Это работает со строкой вроде

7.00pm to 9.40pm

Выход:

2 Hour 40 Minutes

Но я думаю, что мой подход - не лучший способ, и он также не будет работать, когда время с утра до вечера означает «с 9:00 до 13:00». Есть ли другой способ, с помощью которого можно рассчитать разницу в часах. Или мы можем доработать эту формулу ...

Пожалуйста, дайте мне знать, если потребуется дополнительная информация по этому запросу

Действительно ли ваше системное время использует . вместо :?

user4039065 01.09.2018 10:49

это не системное время, на самом деле лист Excel заполняется вручную разными людьми ежедневно, и при вводе данных они используют . для дифференциации часов и мин.

Vino 01.09.2018 10:51
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
1
2
74
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Время принадлежит как время. Следующая формула устраняет все ошибки, допущенные при вводе, и вычисляет истинное значение времени.

=TIMEVALUE(RIGHT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, ".", ":"), "am", " am"), "pm", " pm"), 8))-TIMEVALUE(LEFT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2, ".", ":"), "am", " am"), "pm", " pm"), 8))

Задайте ячейке собственный числовой формат,

h \hou\r\s \a\n\d m \mi\nut\e\s_)

Формат не меняет того факта, что у вас есть исходное базовое значение, которое можно использовать в будущих вычислениях.

Спасибо, ваш подход очень крут, я не знал о SUBSTITUTE и TIMEVALUE

Vino 01.09.2018 12:53

Другие вопросы по теме

Похожие вопросы

Как отфильтровать несколько столбцов с условием с помощью Excel VBA
Табель сверхурочных часов суммируется
Как сделать вызываемую ячейку уникальной для каждого листа?
Будет ли этот код когда-либо повторять значение? Мне нужен номер, который никогда не будет повторяться и не требует сохраненной переменной
Найти наибольшее значение и вернуть значение смежной ячейки с дубликатами в Excel
Если ячейка содержит несколько экземпляров определенного текста, извлеките верхние 3 указанного текста, найденного в ячейке
Как обрабатывать ошибку, возникшую в событии Workbook_Open другой книги?
Как применить код VBA к каждой странице книги? Mine выполняет часть кода на каждой странице, но применяет весь код только к последней странице
Рассчитать коэффициент вариации в сводной таблице (Excel)?
Автоматическое заполнение ячеек в строке на основе раскрывающегося списка Active-x