Your code doesn’t make sense to me. The easiest way to do this is to use get_categories()
to get all the categories, and use the exclude
parameter to exclude the category that you don’t need. You can then feed that back into a new WP_QUERY
Example
$categories = get_categories( 'exclude=ID_OF_CATEGORY')
foreach ($categories as $category) {
$new_query = new WP_Query( 'posts_per_page=1&cat=" . $category->cat_ID );
if($new_query->have_posts()) :
while($new_query->have_posts()) : $new_query->the_post();
// YOUR LOOP ELEMENTS
endwhile;
wp_reset_postdata();
endif;
}