Since you can only have a single query within List rows present in a table, I would filter on the Status, then use Filter array to continue the filtering on business.
I've used the following Excel Table for this example.

See full flow below. I'll go into each of the actions.

List rows present in a table has the following expression that will exclude any rows where the status is "Completed"
Status ne 'Completed'

Initialize variable creates an Array variable called businessList that contains all the businesses I want to exclude. Not sure where you would have your list of businesses.

Filter array takes in the value from List rows present in a table and has a condition to check if the array of businesses does not contain the current business.

The output in this example would be:
[
{
"@odata.etag": "",
"ItemInternalId": "e93983f1-fb02-4067-b795-696c0d70cc34",
"Business": "Business 001",
"Email": "email@business001.com",
"Status": "In Progress"
},
{
"@odata.etag": "",
"ItemInternalId": "25c6b5ec-4c8d-4d22-a88d-9ea09d64787b",
"Business": "Business 006",
"Email": "email@business006.com",
"Status": "In Progress"
},
{
"@odata.etag": "",
"ItemInternalId": "0389cdf6-bf7e-4127-bef1-b2a32f328cb5",
"Business": "Business 008",
"Email": "email@business008.com",
"Status": "In Progress"
}
]

Apply to each can then iterate over each of the items returned from the Filter array and send an email. The expression used to get the email for each business would be:
items('Apply_to_each')?['Email']
