@powapp77 sorry for some reason I accidently cleared the rest of my answer after you accepted the solution.
You can certainly create a single list, with each person duplicated per the number of countries they are associated to. You can then associate that list to a Gallery, and then Filter the Gallery on a specific person to display each company associated to that person with e.g.
Filter(
'Your SharePoint List',
'Your People Field'.Email = User().Email
)
Whichever approach depends on the complexities of your app, but I find that as data volumes increase, relating multiple tables is more sustainable.
It is also important to note that you should avoid using complex data types such as Choices and LookUp columns in your List/s, and handle the relationships entirely in the app interface using delegable Filter and LookUp functions.