У меня есть данные в формате 'd hr m s' и я хочу изменить их на [h]:mm. Где h — это d*24+hr.
Например, вот какие данные у меня есть на данный момент:
Что можно сделать, чтобы отформатировать ячейку, или какую формулу можно использовать, чтобы изменить формат данных ячейки на нужный мне?
Ваше здоровье
решение1
решение2
Вы можете эффективно решить эту проблему с помощью бесплатного ExcelRegEx Найти/Заменитьдобавить в.
(Я не имею отношения к этому инструменту.)
Просто введите формулу ниже и отформатируйте результаты как[h]:mm
=SUMPRODUCT(RegExFind(A2,"(\d+)"),{86400,3600,60,1})/86400
решение3
Сочетание нескольких базовых функций Excel, конвертирующих ISNUMBER
данные в желаемый формат.
Формула в ячейке
I31
, заполните ее.=IF(ISNUMBER(FIND("d",H31)),LEFT(H31,FIND("d",H31)-1)*24)+IF(ISNUMBER(FIND("h",H31)),MID(0&H31,MAX(1,FIND("h",0&H31)-2),2))+MID(0&H31,MAX(1,FIND("m",0&H31)-2),2)/60
Подать заявку
Appropriate Cell format with 2 Decimals
наI31:I35
.
Отредактировано:
Так как по ошибке я пропустил потребность OP Results in [H]:mm Time format
, поэтому я публикую эту новую формулу, возвращающую формат Time is desire.
Читатели, просто проигнорируйте приведенную выше формулу.
Формула в ячейке
I46
, заполните ее.=SUM(MID(0&H46&"000",FIND({"d","h","m"},0&H46&"xxdhm")-2,2)*{1440,60,1})/86400*60
Примечание.Применить [h]:mm
формат времениI46:I53
Формула в ячейке
J46
, заполните ее.=TEXT(SUM(MID(0&H46&"000",FIND({"d","h","m"},0&H46&"xxdhm")-2,2)*{1440,60,1})/86400*60,"[h]:mm")
При необходимости измените ссылку на ячейку в формуле.