Hi Leah,
Thanks for your feedback! The second "Apply to Each" step is in there because my condition includes additional criteria. I'll explain in my screenshot.
Some background first: I chose to adapt your instructions for something slightly different -- this flow is checking for Account records (we renamed the Accounts table to Customers) that already exist in our CRM, matching on "Company Name" in the spreadsheet. This posed two challenges. First, the Company name in the spreadsheet is sometimes a full name (example: Alpha Bet Company) and sometimes an acronym (ABC). For our customer records, we do capture both the full name and the acronym in the table, but these are two different fields. Second, I only want it to compare against customers where Relationship Type = Customer (customertypecode = 3). So, here is what I ended up with.
First three steps are the same:

Next, the Apply to Each step:

Note that the filter step has an OR statement ensure both the Name and Acronym fields are being checked for a match on the Company column in the spreadsheet.
length(outputs('List_Customers_that_appear_on_the_Excel_sheet')?['body/value'])

The next set of steps is contained within the second "Apply to Each" step. This is because I included a second condition here to account for including only CRM Customer records where the relationship type = 3 (Customer, instead of Prospect, Vendor, etc). Because the condition is referring to Dynamic Content from the "List Customer" step, the second Apply to Each step is forced. Originally I had applied this filter on the "List Customers that appear in Excel spreadsheet" step but that wasn't working. After the flow would run, not only were there still rows with blank values, but the rows WITH values were not accurate. Either the OData filter did not like both and AND and an OR condition or my syntax / order was wrong. In any case, when I made this change and moved the filter to the condition, this fixed the accuracy but did not fix the fact that rows were left blank.

For the last time the flow ran, the "Apply to Each 2" step shows this. It says "1 of 1", but I think that is because it is contained within the first "Apply to Each" step. As I toggle through from 1 of 777 to 2 of 777, etc, the "Apply to Each 2" step continues to say Show 1 of 1.

Looking forward to hearing your thoughts on this. Thank you for your help!