Hello,
I am trying to automate a daily production report email using Power Automate.
My setup:
• Operators submit production details through Microsoft Forms (QR code)
• Responses are stored automatically in an Excel file (OneDrive)
• Power Automate flow runs daily and should send yesterday’s production report by email
Flow structure:
-
Recurrence (Daily)
-
List rows present in table (Excel)
-
Filter Array – filter yesterday’s records
-
Create HTML Table
-
Send Email
The problem is that the Date / Start time column from Excel sometimes appears as an Excel serial number like:
45747.4894560185
3/16/2026 10:12:02 AM
Example error:
In function 'formatDateTime', the value provided for date time string '45747.4894560185' was not valid. The datetime string must match ISO 8601 format.
My goal:
Filter only yesterday's production entries and include them in the email report.
Example expression I tried:
formatDateTime(item()?['Start time'],'yyyy-MM-dd'),
formatDateTime(addDays(convertTimeZone(utcNow(),'UTC','India Standard Time'),-1),'yyyy-MM-dd')
)
But it fails when the value is stored as an Excel serial number.
Question:
What is the best way to reliably filter yesterday’s rows when the Excel column contains serial datetime values from Microsoft Forms?
Any guidance would be appreciated.
Thank you.

Report
All responses (
Answers (