Hopefully this is what you're looking for.
For this example, I'm using the following list.

And the following Microsoft Form.

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

When a new response is submitted and Get response details retrieve the data from the Microsoft Form.

Get items returns the item(s) where the Name (Title) is equal to the Name entered on the Form.

Condition checks to see if one row is returned (we found a match). If true, we go into the Yes branch. The expression used in the condition is:
length(outputs('Get_items')?['body/value'])

In the Yes branch, we Send the email to the user. Note that even if there is only one row returned, it will still be inside an array, so we can just use the first expression to extract out the first row (to avoid a loop being added). The expression used to get the email from the first row is below. You would just need to use the internal name of your Email column.
first(outputs('Get_items')?['body/value'])?['Email']

IMPORTANT: This flow will only find a match if the name is entered exactly the same (case sensitive). If you wanted the condition to be non-case sensitive, you would need to store your Names in your SharePoint List as all lowercase or uppercase then check on the same case in your Microsoft Form. Or retrieve all items initially, then use a Filter array to convert both the name in the SharePoint List and the Microsoft Form when performing the filter.
----------------------------------------------------------------------
If I've answered your question, please mark the post as Solved.
If you like my response, please consider giving it a Thumbs Up.