Pull Matrix Block from Multiple Entries without Showing Duplicates
Assuming you can have multiple person blocks per entry (group), you could:
Fetch your entries and eager-load the blocks and their entry to save some overheads
{% set group = craft
    .entries()
    .id([100,200,300])
    .with(['people.person:entry'])
    .all() %}

Then build an array with each person.entry
{# The array to store your person.entry #}
{% set people = [] %}

{# Iterate over your group #}
{% for entry in group %}

    {# Iterate over each blocks and push the person.entry to your people array #}

    {% for person in entry.people %}
        {% set people = people | merge ([person.entry[0]]) %}
    {% endfor %}
{% endfor %}

Then use unique (docs) to dedupe your people as you display:
{% for person in people | unique %}
    {{ person.title }} &lt;br&gt;
{% endfor %}