thanks @abm
I was using a common identifier, but it was only updating the first row it got to that met that criteria, not the rest of them. But this got me thinking, and what I did was go back and put a unique identifier in, and then it worked!!
So if anyone wants to know exactly how I did it..
My excel table has a column that staff update to prompt and email to be sent (in my case 'update' column, I am looking for a 'Successful' entry there
I added a column 'Post Successful email sent' (to be able to record/identify which ones had has an email so they don't get multiples each time the recurrence runs)

And of course the table has other columns including the email address of the person I want to get the email in there too
so for the Power Automate flow
Scheduled recurrence to go to Excel and list the rows (I set on the hour, but could be more/less often of course)

then use the 'Apply to each' and 'Condition' criteria to identify those rows with 'Successful' in the update column, and not yet a 'Yes' in the 'Post Successful email sent' column
then send the email if that criteria are met (all pretty standard so far)

then update the Excel row to add the 'Yes' for each of those rows that we have just sent the email for
**here is where I was stuck - you can't use a column that has common entries for more than one row. I was at first trying to look for rows that had 'Successful' in them and then add the 'Yes', but that didn't work as it did the first row it go to that met that criteria and then didn't do any more of them (much swearing and cursing ensued). The Key Column and Key Value has to be unique for each row, so in my case I used my 'Action' column which is unique for each row.

and that's it, it now works perfectly
Seems so simple now I have worked it out 🤦♀️
I hope this saves someone else the frustration I experienced in running emails from excel using power automate when there is a change to the excel row content 😉