<

How to calculate Duration from text and number cell value

Published on
10,553 Points
1,253 Views
28 Endorsements
Last Modified:
Approved
Community Pick
Shums
I Love Challenges in MS-Excel
Where there is a will there are many ways. Finding one that works for you is the challenge!
When you see single cell contains number and text, and you have to get any date out of it seems like cracking our heads.

I was attending to one of MS-Excel question here on EE and found this question very interesting and challenging, thought I should share with every one for future reference.


Suppose you have a cell value "10d, 10h, 10m, 10s" in A2, like below image:

A2.JPG


from above value you need to calculate a date & time from today's date & time like below image:


G2.JPG

Lets find out by following steps:


1. First lets remove all text contents of the cell by using Substitute Formula, we have to use this formula 4 times to remove 4 texts like d, h, m, s like below image:

B2-Formula.JPG B2-Value.JPG



2. Now we need to split all numbers after each commas. There are many formulas to do that, but I am using very useful function, which I found on some site. Below is the function I used:

Function FindWord(Source As String, Position As Integer)
Dim arr() As String
arr = VBA.Split(Source, ",") 'Change the string which suits you
xCount = UBound(arr)
If xCount < 1 Or (Position - 1) > xCount Or Position < 0 Then
    FindWord = "," 'Change the string which suits you
Else
    FindWord = arr(Position - 1)
End If
End Function

Using above function, I am gonning to split days, hours, mins and seconds in 4 different columns like below image:


Days
C2-Formula.JPG C2-Value.JPGHours
D2-Formula.JPG D2-Value.JPGMinutes
E2-Formula.JPG E2-Value.JPGSeconds
F2-Formula.JPG F2-Value.JPG


You would have seen, I have changed the last number to split as per appearance of commas.


3. Now the tricky steps, in this step we need to split our process but end result should be combined.a) Lets get the date part first, I need to find what would be the date 10 days earlier to today, as per our above calculation, very simple, I will just use below formula:


G2-Formula-1.JPG G2-Value-1.JPG


b) Now I need to find what would be the date 10 days after today, as per our above calculation, same steps like 3.a) instead of deducting, I am adding below:


H2-Formula-1.JPG H2-Value-1.JPG


You may change the date format as you like by replacing "mm/dd/yy"

c) Now lets do the same for Time, I need to find what would be the time 10 hours, 10 mins & 10 seconds earlier to current time:


G3-Formula.JPG G3-Value.JPG


d) Now I need to find what would be the time 10 hours, 10 mins & 10 seconds after current time:


H3-Formula.JPG H3-Value.JPG


Here also you may change the time format as you like by replacing "hh:mm:ss AM/PM" for 12 hours or "hh:mm:ss" for 24 hours time format.


4. You might be wondering, I would have merged both date & time formula to get in one cell, honestly, I was not sure, I will be able to get the right output :). Anyway this is what I am gonna do in this step to combine date & time:


Start Date & Time


G2-Formula-2.JPGEnd Date & Time
H2-Formula-2.JPGTo get final result:
G2-2.JPG



Please do not forget to press the "Thumb's Up" button if this article was helpful and valuable for EE members.

It also provides me with positive feedback in the form. Thanks!

28
Comment
Author:Shums
9 Comments

Expert Comment

by:Enrique A. Santos KM4ZQC
Outstanding!
3

Expert Comment

by:Rahul Roy
Pretty useful function and quite helpful
3

Expert Comment

by:Jennifer Liu
Very useful to know!
3
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

Expert Comment

by:ADRIANA P
Very Insteresting !
2

Expert Comment

by:Steve Bez
Thanks for making it so easy to understand!
2

Expert Comment

by:abbey Law
Wow! This is impressive and so clear to understand. Thank you for sharing your invaluable knowledge :)
2

Expert Comment

by:Aamir Hussain
A simple and excellent solution of the complicated question. Well done Mr.Shums :-)
2

Expert Comment

by:Brendan Wilson
This is an excellent article. I appreciate you taking the time to write this.
1

Expert Comment

by:Judy Deo
Thanks for taking the time to post this in such detail. Appreciate it.
1

Featured Post

Introducing Cloud Class® training courses

Tech changes fast. You can learn faster. That’s why we’re bringing professional training courses to Experts Exchange. With a subscription, you can access all the Cloud Class® courses to expand your education, prep for certifications, and get top-notch instructions.

Join & Write a Comment

Visualize your data even better in Access queries. Given a date and a value, this lesson shows how to compare that value with the previous value, calculate the difference, and display a circle if the value is the same, an up triangle if it increased…
Have you created a query with information for a calendar? ... and then, abra-cadabra, the calendar is done?! I am going to show you how to make that happen. Visualize your data!  ... really see it To use the code to create a calendar from a q…
Other articles by this author

Keep in touch with Experts Exchange

Tech news and trends delivered to your inbox every month