Here is a third approach with a nested If without the "max" function.
The idea is:
Start at the highest code. If the subquestion is selected, fine, you found it.
{sum(if(Q1_5=="Y",5,if(Q1_4=="Y",4,if(Q1_3=="Y",3,if(Q1_2=="Y",2,if(Q1_1=="Y",1,0))))),if(Q2_4=="Y",4,if(Q2_3=="Y",3,if(Q2_2=="Y",2,if(Q2_1=="Y",1,0)))),if(Q3_6=="Y",6,if(Q3_5=="Y",5,if(Q3_4=="Y",4,if(Q3_3=="Y",3,if(Q3_1=="Y",1,0))))),Q4.valueNAOK)}
I hope you found the typo in the previous post
{sum(max(1*intval(Q1_1=="Y"),2*intval(Q1_2=="Y"),3*intval(Q1_3=="Y"),4*intval(Q1_4=="Y"),5*intval(Q1_5=="Y")),max(1*intval(Q2_1=="Y"),2*intval(Q2_2=="Y"),3*intval(Q2_3=="Y"),4*intval(Q2_4=="Y")),max(1*intval(Q3_1=="Y"),3*intval(Q3_3=="Y"),4*intval(Q3_4=="Y"),5*intval(Q3_5=="Y"),6*intval(Q3_6
=="Y")),Q4.valueNAOK)}
By the way:
Do you want to store this score?
Or only display it to the respondent?
If you want to store it, you have to use a question of type equation (eqScore) (as you did), but remove everything but the formula.
To display it, use a question of type "text display", where you show your text and pipe the calculated score, like
In the previous questions you reached a score of {eqScore}
Volunteers are not paid.
Not because they are worthless, but because they are priceless