cancel
Showing results for 
Search instead for 
Did you mean: 
Reply

Convert Excel date value

Hi,

I get a date value from Excel in the form 43201 as an example.

How can I make a date value out of this number that I can use in a condition to evaluate whether this date is less or greater than the current date?

Would be great if somebody could help.

Best regards,

Ludwig 

21 REPLIES 21
v-yuazh-msft
Community Support
Community Support

Hi @ lreinhard7,

 

 

Do you want to check if the value of date column in the excel table is less or greater than the current date?

I have a date column "starttime" in the excel table, and you could refer to screenshot below to create the flow to check if the value of date column in the excel table is less than the current date.

Capture.PNG

 

 

The expression in the Condition as below:

 

@less(startOfDay(items('Apply_to_each')?['endtime']), startOfDay(utcNow()))

 

The flow would run successfully as below:

Capture.PNG

 

If you would like to check if the value of date column in the excel table is  greater than the current date, you could use the expression in the condition as below:

@greater(startOfDay(items('Apply_to_each')?['endtime']), startOfDay(utcNow()))

You could refer to link below to learn more about the workflow definition language:

https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-workflow-definition-language

 

 

Regards,
Alice Zhang

I tried this using the suggestion

 

startOfDay(body('Get_a_row')?['Date'])
 
to convert a number into a date for inputing and this is the message I got:
 
InvalidTemplate. Unable to process template language expressions in action 'Create_item' inputs at line '1' and column '2369': 'In function 'startOfDay', the value provided for date time string '41796' was not valid. The datetime string must match ISO 8601 format.'.
 
So far no luck converting strings/values into dates for flow. 
Anonymous
Not applicable

Hello, did you ever find a way to fix the way flow was reading in the values? I've got the same issue now with flow interpreteing cells that are dates as integers.

Hi, For me the following expression worked: formatDateTime(adddays('12-30-1899',int(outputs('Compose_(hold_date_from_Excel)')),'yyyy-MM-dd'),'yyyy-MM-dd') Where outputs('Compose_(hold_date_from_Excel is a compose element that holds the Excel date number. Best regards, Ludwig

Hi Ludwig,

 

I am not getting a correct output and not sure why...

designdesign

 

outputoutput

Thanks for any help you can provide.

 

Craig

Anonymous
Not applicable

Anyone figure this out? I'm having same issues....Smiley Sad


Hi!

 

After a lot of trial and error, I think I have a solution: ticks!

 

Here's how you construct a date taken from Excel Online:

add(mul(float(items('Array')?['Date']),864000000000),599264352000000000)

(I'm taking the date from a loop, but feel free to get it from elsewhere)

 

And here's how you turn today into ticks:

ticks(startOfDay(utcNow()))

(you can remove startOfDay if you care about the time, too)

 

What's going on with the first function: You take Excel's numeric date (days since 1/1/1900), e.g. 43267.234234826 as a float, then multiply it by 864000000000 to turn it into 100s of nanoseconds (i.e. ticks) and, finally, add the difference between 1/1/1900 and 1/1/0001 (in 100s of nanoseconds)

 

djcarver
Frequent Visitor

Hi,

 

I am having similar issues but I'm also trying to convert the time (e.g. a serial like 43598.802997685 should read 13/05/2019 19:16). I've got the purely the date working, but can't get the time as well.

 

addDays(addDays(formatDateTime('1900-01-01T00:00:00'),int(items('Apply_to_each')?['Date'])),-2)

 

For context, I'm importing a load of stuff from an excel table into a SharePoint list.

 

Thank in advance!

Hey,

 

AddDays can only add (or substract) whole days. By using int(), you strip your date of the time (but it's mandatory for addDays().

 

Perhaps you can use the decimal part of the date number and multiply it by 24 (and get the hours), then use the new decimal part and multiply it by 60 (and get the minutes) and, finally, take the last decimal part and multiply again (and round) by 60 (to get the seconds).

For example, 43598.802997685 -> 0.802997685 * 24 = 19,27194444 -> 0,27194444 * 60 =16,3166664 -> 0,3166664 * 60 = 19.

So the whole thing would become 13/05/2019 19:16:19

 

You can use int() to get the non-decimal part, then sub() it from the initial number, then mul() it by 24/60 and so on.

It's going to get a bit long. Good luck!

 

abm
Most Valuable Professional
Most Valuable Professional

Hi @ymaglaras 

 

You deserved a Gold star for this. Well explained the hour and minutes from Excel sheet. Well done !!!!

 

Thanks



Did I answer your question? Mark my post as a solution!

If you liked my response, please consider giving it a thumbs up


Proud to be a Flownaut!

Learn more from my blog
Power Automate Video Tutorials
Anonymous
Not applicable

To convert excel integers to a date in flow you can use this in your expression:

 

if(empty(<insert date integers>),'',addDays('1899-12-30',int(<insert date integers>),'MM/dd/yyyy'))

Anonymous
Not applicable

I'm trying all the suggestions in this and other similar threads and nothing is working. I'm using the List Rows Present in a Table action to read an Excel file and create SP list items out of each row. I have 2 date columns in there that keep coming back as integers. I tried the if(empty... solution suggested here and the Flow ran successfully but both dates I was trying to capture just returned blank and wrote nothing to my sharepoint list. I have also tried:

 

addDays('1899-12-30',int(items('ApplyEach_Dates')?['Week-Ending']))

and

addDays('1899-12-30',float(items('ApplyEach_Dates')?['Week-Ending']))

 

Both of these threw error 'The template language function 'float' (or 'int') was invoked with a parameter that is not valid. The value cannot be converted to the target type.' 

What am I missing? My Excel columns are formatted as Short Date. Don't need any time values. Any suggestions? Thanks very much.

 

EDIT: I should mention that the Excel file being read is stored in a SharePoint Online library

abm
Most Valuable Professional
Most Valuable Professional

Hi @Anonymous 

 

Could you please post a runtime history values of Week-Ending?

 

Thanks



Did I answer your question? Mark my post as a solution!

If you liked my response, please consider giving it a thumbs up


Proud to be a Flownaut!

Learn more from my blog
Power Automate Video Tutorials
Anonymous
Not applicable

Apologies @abm ~ This Compose expression does actually work:

 

if(empty(items('ApplyEach_Dates')?['Work Date']),'',addDays('1899-12-30',int(items('ApplyEach_Dates')?['Work Date']),'MM/dd/yyyy'))

 

I had several rows in my test Excel file. I dug in and found that somehow a couple of my individual date cells were not formatted correctly. This was odd b/c the Number Format was indeed set to "Date" and the fields were right-aligned just like the others -- but somehow they were not actually 'short dates'. When I selected all and switched them to General format, these 2 stuck out. They did not convert to integers but remained looking deceptively like dates. So they were coming in as blank and making the Flow Compose action appear to be incorrect. Many thanks to this thread for the solution.

 

Excel dates if empty.PNG

That is awsome!!! Thank you bro

@Anonymous I appreciate you posted this a while ago but I'm still struggling on my flow.  What did you use in the Create Item in SP for the dates?  I think that is the bit I'm missing something on.  thanks!

Anonymous
Not applicable

In the Create Item action, the value plugged into the date field is the Output of the Compose action directly above.

In my case here, the date field is named Week-Ending and I renamed the Compose action to "ComposeWeekEnding":

date output.png

Thank you.  I thought it should be but the compose option isn't showing up.  however I've been trying to find a solution all day so I think it's time I have Automate a rest and try again tomorrow.  Really appreciate the quick response!

Anonymous
Not applicable

Hmmm...maybe if Dynamic Content is acting weird, you could just type in the formula yourself in the Expression field. To make it easy, make sure your Compose action name has no spaces or dashes. Then just put it in single quotes.

 

typeexpression.png

Helpful resources

Announcements

Community will be READ ONLY July 16th, 5p PDT -July 22nd

Dear Community Members,   We'd like to let you know of an upcoming change to the community platform: starting July 16th, the platform will transition to a READ ONLY mode until July 22nd.   During this period, members will not be able to Kudo, Comment, or Reply to any posts.   On July 22nd, please be on the lookout for a message sent to the email address registered on your community profile. This email is crucial as it will contain your unique code and link to register for the new platform encompassing all of the communities.   What to Expect in the New Community: A more unified experience where all products, including Power Apps, Power Automate, Copilot Studio, and Power Pages, will be accessible from one community.Community Blogs that you can syndicate and link to for automatic updates. We appreciate your understanding and cooperation during this transition. Stay tuned for the exciting new features and a seamless community experience ahead!

Check Out | 2024 Release Wave 2 Plans for Microsoft Dynamics 365 and Microsoft Power Platform

On July 16, 2024, we published the 2024 release wave 2 plans for Microsoft Dynamics 365 and Microsoft Power Platform. These plans are a compilation of the new capabilities planned to be released between October 2024 to March 2025. This release introduces a wealth of new features designed to enhance customer understanding and improve overall user experience, showcasing our dedication to driving digital transformation for our customers and partners.    The upcoming wave is centered around utilizing advanced AI and Microsoft Copilot technologies to enhance user productivity and streamline operations across diverse business applications. These enhancements include intelligent automation, AI-powered insights, and immersive user experiences that are designed to break down barriers between data, insights, and individuals. Watch a summary of the release highlights.    Discover the latest features that empower organizations to operate more efficiently and adaptively. From AI-driven sales insights and customer service enhancements to predictive analytics in supply chain management and autonomous financial processes, the new capabilities enable businesses to proactively address challenges and capitalize on opportunities.    

Summer of Solutions | Week 3 Results | Win free tickets to the Power Platform Conference

We are excited to announce the Summer of Solutions Challenge!    This challenge is kicking off on Monday, June 17th and will run for (4) weeks.  The challenge is open to all Power Platform (Power Apps, Power Automate, Copilot Studio & Power Pages) community members. We invite you to participate in a quest to provide solutions to as many questions as you can. Answers can be provided in all the communities.    Entry Period: This Challenge will consist of four weekly Entry Periods as follows (each an “Entry Period”)   - 12:00 a.m. PT on June 17, 2024 – 11:59 p.m. PT on June 23, 2024 - 12:00 a.m. PT on June 24, 2024 – 11:59 p.m. PT on June 30, 2024 - 12:00 a.m. PT on July 1, 2024 – 11:59 p.m. PT on July 7, 2024 - 12:00 a.m. PT on July 8, 2024 – 11:59 p.m. PT on July 14, 2024   Entries will be eligible for the Entry Period in which they are received and will not carryover to subsequent weekly entry periods.  You must enter into each weekly Entry Period separately.   How to Enter: We invite you to participate in a quest to provide "Accepted Solutions" to as many questions as you can. Answers can be provided in all the communities. Users must provide a solution which can be an “Accepted Solution” in the Forums in all of the communities and there are no limits to the number of “Accepted Solutions” that a member can provide for entries in this challenge, but each entry must be substantially unique and different.    Winner Selection and Prizes: At the end of each week, we will list the top ten (10) Community users which will consist of: 5 Community Members & 5 Super Users and they will advance to the final drawing. We will post each week in the News & Announcements the top 10 Solution providers.  At the end of the challenge, we will add all of the top 10 weekly names and enter them into a random drawing.  Then we will randomly select ten (10) winners (5 Community Members & 5 Super Users) from among all eligible entrants received across all weekly Entry Periods to receive the prize listed below. If a winner declines, we will draw again at random for the next winner.  A user will only be able to win once overall. If they are drawn multiple times, another user will be drawn at random.  Individuals will be contacted before the announcement with the opportunity to claim or deny the prize.  Once all of the winners have been notified, we will post in the News & Announcements of each community with the list of winners.   Each winner will receive one (1) Pass to the Power Platform Conference in Las Vegas, Sep. 18-20, 2024 ($1800 value). NOTE: Prize is for conference attendance only and any other costs such as airfare, lodging, transportation, and food are the sole responsibility of the winner. Tickets are not transferable to any other party or to next year’s event.   ** PLEASE SEE THE ATTACHED RULES for this CHALLENGE**   Week 1 Results: Congratulations to the Week 1 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge.   Community MembersNumber SolutionsSuper UsersNumber Solutions Deenuji 9 @NathanAlvares24  17 @Anil_g  7 @ManishSolanki  13 @eetuRobo  5 @David_MA  10 @VishnuReddy1997  5 @SpongYe  9JhonatanOB19932 (tie) @Nived_Nambiar  8 @maltie  2 (tie)   @PA-Noob  2 (tie)   @LukeMcG  2 (tie)   @tgut03  2 (tie)       Week 2 Results: Congratulations to the Week 2 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 2: Community MembersSolutionsSuper UsersSolutionsPower Automate  @Deenuji  12@ManishSolanki 19 @Anil_g  10 @NathanAlvares24  17 @VishnuReddy1997  6 @Expiscornovus  10 @Tjan  5 @Nived_Nambiar  10 @eetuRobo  3 @SudeepGhatakNZ 8     Week 3 Results: Congratulations to the Week 3 qualifiers, you are being entered in the random drawing that will take place at the end of the challenge. Week 3:Community MembersSolutionsSuper UsersSolutionsPower Automate Deenuji32ManishSolanki55VishnuReddy199724NathanAlvares2444Anil_g22SudeepGhatakNZ40eetuRobo18Nived_Nambiar28Tjan8David_MA22  

Updates to Transitions in the Power Platform Communities

We're embarking on a journey to enhance your experience by transitioning to a new community platform. Our team has been diligently working to create a fresh community site, leveraging the very Dynamics 365 and Power Platform tools our community advocates for.  We started this journey with transitioning Copilot Studio forums and blogs in June. The move marks the beginning of a new chapter, and we're eager for you to be a part of it. The rest of the Power Platform product sites will be moving over this summer.   Stay tuned for more updates as we get closer to the launch. We can't wait to welcome you to our new community space, designed with you in mind. Let's connect, learn, and grow together.   Here's to new beginnings and endless possibilities!   If you have any questions, observations or concerns throughout this process please go to https://aka.ms/PPCommSupport.   To stay up to date on the latest details of this migration and other important Community updates subscribe to our News and Announcements forums: Copilot Studio, Power Apps, Power Automate, Power Pages

Users online (5,228)