web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Automate / Power Automate – Excel...
Power Automate
Answered

Power Automate – Excel Date Format Issue & All Rows Being Emailed Instead of Filtered

(0) ShareShare
ReportReport
Posted on by 9

Hello,

 

I am building a Power Automate flow that reads booking data from an Excel table stored in OneDrive and sends reminder emails based on the Arrival Date.

(Build an automated workflow that reads live booking data from an Excel file that is continuously updated and sends reminder emails 1 month prior to the Arrival Date for bookings marked as Provisional.
The Excel file serves as the single live source of truth - 

  1. Checks if the same Event ID already exists in the “Sent Email Report” file.
    • If it already exists, the flow does nothing (to avoid duplicate emails).
  2. If the Event ID has not been used before, the flow checks the Contact Email field.
    • If Contact Email is empty, the flow writes the event details into the “Missing Email Report” file and does not send an email.
  3. If Contact Email exists, the flow sends an automatic reminder email to that address.
  4. After sending the email successfully, the flow records the event details (Event ID, email address, date sent, etc.) into the “Sent Email Report” file for tracking and duplication prevention.
  5. If there is an error during email sending, the flow records the failure and sends an error notification to the internal administrators
 
 

However, I am experiencing two major issues:

 

  1. All rows are being emailed, even though I have conditions in place.

  2. I am unsure whether the issue is related to how Excel dates are being read.





  3.  
  4.  
  5.  
 

I have attached three sample Excel files for reference.

 
 

What I am trying to achieve

 

Trigger: Recurrence (daily at 09:00 GMT Standard Time)

 

Source: Excel table with the following columns:

 

  •  

    Event Title


  •  

    Event ID


  •  

    Arrival Date


  •  

    Contact Full Name


  •  

    Contact Email


  •  

    Status





  •  
  •  
  •  
 

Business logic:

 

An email should only be sent if:

 

  •  

    Status = "Provisional"


  •  

    Arrival Date is in the future


  •  

    Arrival Date is exactly one month from today


  •  

    Contact Email is not empty


  •  

    The email has not already been sent (duplicate prevention)





  •  
  •  
  •  
 
 

The problem

 

Instead of filtering properly, all rows from the Excel table are being processed and emails are being sent for every row, even those that clearly do not meet the conditions.

 

I suspect one of the following may be happening:

 

  •  

    The Arrival Date format is not being interpreted correctly.


  •  

    The Condition expression is evaluating incorrectly.


  •  

    The Apply to each loop is running on the wrong dataset.


  •  

    The date comparison logic is flawed.





  •  
  •  
  •  
 
 

Excel Date Format Question

 

I am unsure how Excel dates should be formatted so that Power Automate reads them correctly.

 

In the List rows present in a table action, there is a DateTime Format option:

 

  •  

    Serial Number


  •  

    ISO 8601





  •  
  •  
  •  
 

Questions:

 

  1.  

    What is the recommended way to store dates in Excel for Power Automate?

     

    •  

      True Excel date (serial number)?


    •  

      ISO 8601 string (yyyy-MM-dd)?





    •  
    •  
    •  

  2.  

    Should I convert the Arrival Date column to ISO format in Excel?


  3.  

    What is best practice for comparing Excel dates with utcNow() and addMonths()?





  4.  
  5.  
  6.  
 
 

Current Flow Logic (simplified)

 

Recurrence

→ List rows present in a table

→ Apply to each (body/value)

→ Condition:

 
 
 
 
and(
equals(items('Apply_to_each')?['Status'], 'Provisional'),
equals(
formatDateTime(items('Apply_to_each')?['Arrival Date'], 'yyyy-MM-dd'),
formatDateTime(addMonths(utcNow(), variables('OffsetMonths')), 'yyyy-MM-dd')
),
equals(empty(items('Apply_to_each')?['Contact Email']), false)
)
 
 

Despite this condition, all rows are being emailed.

 
 

Additional Information

 

  •  

    I am also checking against a “Sent Email Report” table to prevent duplicates.


  •  

    Three sample files are attached.


  •  

    I can provide raw Outputs JSON from the List rows action if needed. [Removed by moderator, too long and not needed]

  •  


    1.  
     

    Any guidance would be greatly appreciated.



    1.  
 
 


 
I have the same question (0)
  • Verified answer
    Ellis Karim Profile Picture
    12,051 Super User 2026 Season 1 on at
    Hi
     
    Your question was quite long and included a lot of information, which made it very difficult to follow. Would you mind simplifying it so it’s easier for people to help?
     
    For the time being, the following tips may be of benefit to you:
     
     
    (1) Add a Filter Query to the List rows present in a table action:
     
     
    (2) Your expression needs to be in a filter array action, which I have modified to the following:
    @and(
         not(equals(trim(item()?['Contact Email']),'')),
         equals(
            formatDateTime(item()?['Arrival Date'],'yyyy-MM-dd'),
            addToTime(utcNow(), variables('OffsetMonths'), 'Month', 'yyyy-MM-dd')
         )
    )
    
     
     
     
    The output of the filter array should now contain the correct records.
     
    (3) The Apply to Each loop would then use the output from the Filter array action
     
     
    See:
     
     
    Ellis Karim
    Ellis Karim
    elliskarim.com  |  LinkedIn  |  Bluesky
    If this solved your issue, please mark it as ✅ Accepted Answer. If it helped, feel free to give it a 🩷 Like!
  • JK-25021437-0 Profile Picture
    9 on at
    Thank you so much Ellis, this is very helpful. 
     
    could you please let me know why this is stopped on Condition when I run the test? Thank you.
     
    ..

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Users!

Kudos to our 2025 Community Spotlight Honorees

Congratulations to our 2025 community superstars!

Congratulations to the April Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Automate

#1
Vish WR Profile Picture

Vish WR 976

#2
Valantis Profile Picture

Valantis 863

#3
Haque Profile Picture

Haque 547

Last 30 days Overall leaderboard