Your best option is to use the query tag for this so you can filter the info based on what you need. But you will have to do some digging in the EE db in the exp_member_data and exp_member_field tables to figure out the custom field names to use in the query. Your query would look something like this:
{exp:query limit="30" paginate="bottom"
sql="SELECT m.member_id, m.screen_name, m.username, md.mm_field_id_1 as 'first_name', md.mm_field_id_2 as 'last_name'
FROM exp_members m,`exp_member_data` md
where md.member_id = m.member_id
and m.member_id > 1
and md.m_field_id_3 = 'yes'
order by 1"}
...your html & EE code here like
{member_id}
{screen_name}
{first_name}
{last_name}
...
{/exp:query}
The field references in the query above for “md.mm_field_id_1”, “md.mm_field_id_2”, and “md.mm_field_id_3” would refer to your custom fields you created in your members profile. These are the column names you need to get from the exp_member_data table that correspond to the custom fields you created. You will be able to figure out the column names by looking at exp_member_fields and exp_member_data and mapping the ids to get the right field(s). I hope I explained this correctly.
Thank you,
Mike