Return only post(s) which have post_excerpt

Something along these lines should work, not tested for syntax errors though

        function random_post() { 

        $args = array(
            'post_type' => 'post',
            'orderby'   => 'rand',
            'posts_per_page' => 1, 
            );

        $post = query_posts( $args );

        }

        if(!$post->post_excerpt){
          random_post();
        }

// Then down here you would do whatever with the $post object