How to get data from Matrix field type?
Well done for working out how to display "reverse-related" entries!

In order to separate your Articles into two lists i.e.


Articles with downloads
Articles without downloads


... I would do something like the following on your Company single-entry template...

{% set relatedArticles = craft.entries.section('article').relatedTo() %}

{# Related articles which have downloads #}
{% for articleEntry in relatedArticles %}

    {# check for Matrix content #}
    {% if articleEntry.downloads != '' %}
        &lt;h3&gt;{{ articleEntry.title }}&lt;/h3&gt;

        &lt;ul&gt;
            {# loop through any matrix items #}
            {% for block in articleEntry.downloads %}

                {# get the first asset into a variable named 'download' #}
                {% set download = block.downloadFile.first() %}

                &lt;li&gt;&lt;a href="{{ siteUrl }}{{ download.url }}"&gt;{{ block.downloadName }}&lt;/a&gt;&lt;/li&gt;
            {% endfor %}
        &lt;/ul&gt;

    {% endif %}
{% endfor %}

{# Articles which do not have downloads #}
{% for articleEntry in allArticles %}

    {# check for blank Matrix content #}
    {% if articleEntry.downloads == '' %}

        {# display article titles #}
        &lt;h3&gt;{{ articleEntry.title }}&lt;/h3&gt;

    {% endif %}
{% endfor %}


Hope that helps. Let us know how you get on...