It sounds like you want to create a constructed list and then use a loop for the follow up questions. So, since Q1 is a grid you can use AIG in your constructed list. I'll assume your car brands are in the list Q1RowList. Create a constructed list (I'll call it BrandFamiliar) using Q1RowList as the parent list. The instruction for the list build will just be AIG (Q1,3). This will add all row items from Q1 that rated a 4 or 5.
Now, we'll assume the only follow up is Q2. You would click on the Looping button in the Write Questionnaire section of your survey in Lighthouse. Add a new loop (I'll call it BrandLoop) and select the list you just made (BrandFamiliar) and make Q2 the anchor question1 and anchor question2. If you had more follow up questions (say Q2-Q4) then the last question would be anchor question2.
Your question text for Q2 would look like this:
Q2 (attractiveness): Please rate the following components of [% LoopLabel() %]? That will insert the label for the current item in your loop list. This will all work fine if the follow up questions and lists are the same for all brands.
Since you mentioned that the Q2 List would differ by brand you will need to create a constructed list for Q2. Start with a Predefined List (I'll call it Q2Base). Now create Q2List as a constructed list using Q2Base as the Parent List as my example below shows for 2 different brands. If the current loopvalue is for brand 1 then I am adding items 1-5 from the Parent list. If the current loopvalue is for brand 2, then I am adding items 1-3 and 7-10. You can continue that script for as many items (brands) as you have with the appropriate items showing in Q2. This should get you on your way for what you are looking to do. Let me know how it goes and if you run into any problems.
Begin Unverified Perl