I would create a parent list (call it PartList) as follows ...
Note: I'm not sure what question numbers define each part, but I'll use the following examples.
1-Part 1 (e.g. Q1-Q10)
2-Part 2 (e.g. Q11-Q20)
3-Part 3 (e.g. Q21-Q30)
Then I would create a constructed list that uses PartList as the parent list.
Begin Unverified Perl
In my constructed list, I have basically said if the first question for each part is answered, then include that part. You may need to change the conditions as I'm not sure what type of questions they are. You could use the last question in each part or a question in the middle of each part. They will all work.
Now you can use this constructed list in your ranking question.