Here's the thing about this post: it perfectly captures the moment when a simple task becomes a data quality nightmare. The logic is sound, EOMONTH plus WORKDAY, checked against a holiday list, and the user understands it. The problem isn't the math. It's that the spreadsheet itself is lying about what it contains. Dates that look like dates but behave like text, blank cells that break comparisons, and an export that can't decide on a format. That's not a formula problem. That's a data pipeline problem, and it's the exact kind of friction that makes people question whether spreadsheets are still the right tool for the job.
The frustration here is real, and it's not the user's fault. They're doing everything right: they're using LET, they're avoiding helper columns, they're trying to handle blanks gracefully. But the core issue is that Excel treats "2/5/2026" and "2026-02-05" as fundamentally different things, even though a human knows they mean the same day. Wrapping DATEVALUE around everything is a band-aid, not a fix, because it only works when the text happens to match your regional settings. The real solution, clean, consistent data at the source, isn't available here because IT locked down Power Query. So the user is left fighting symptoms instead of causes.
What we see here is a call for a better pattern. The cleanest approach we can offer is a formula that normalizes both date columns in one step, using LET to parse each cell as a date attempt, and then checking for blanks before doing the cutoff comparison. Something like this: =LET(sd, IF(ISNUMBER([@[Service Date]]), [@[Service Date]], DATEVALUE([@[Service Date]])), rd, IF([@[Received Date]]="", "", IF(ISNUMBER([@[Received Date]]), [@[Received Date]], DATEVALUE([@[Received Date]]))), IF(rd="", "Awaiting", IF(rd<=WORKDAY(EOMONTH(sd,0),3,Holidays), "OK", "Late"))). It's not elegant, but it works because it normalizes first and evaluates second. The key insight is to never assume a date is already a date, always parse, then compare.
This is where we think the conversation should land. The user's story is a microcosm of a much bigger shift: the old way of doing things, manual cleanup, fragile formulas, trusting the export, is breaking under its own weight. The spreadsheet isn't the enemy, but the expectation that it should silently fix inconsistent data is. The next step isn't a better formula. It's a tool that treats data quality as a first-class concern, not an afterthought. That's the direction worth exploring.