How to convert enumlist options to numbers based on the user inputs

Hi Team ,

I have a problem statement where i have created a questionnaire app with 7 questions . All are MCQs and type of ENumlist and Enum . There are 5 question (enumlist) where user can select multiple options and based on the selection weightage of 1 point will be given . If he/she selects all the 4 options then 4 points will be given . For rest of the 2 question (enum) type single selection is implemented for user input . for 3 options 3,2,1 points are assigned . Based on the selection points will be accumulated by the user.

After submitting the form  based on the final sum different result page will be shown to the user .

If sum > 20 show level 1 , Sum 11-20 show level 2 , sum <10 show level 3 . I am not able to find the logic how to provide expressions for MCQ questions which will count based on the user input .Please help

Solved Solved
0 10 231
1 ACCEPTED SOLUTION

COUNT([1:..])
+
COUNT([2:..])
+
IFS(
[3:..]="They meet our organisations future needs",3,
[3:..]="They meet our organisations future needs",2,
[3:..]="They meet our organisations future needs",1,
TRUE,0
)
+
IFS(
[4:..]="1 week",3,
[4:..]="2-3 weeks",2,
[4:..]="Beyond 3 weeks",1
)

View solution in original post

10 REPLIES 10

Whats an MCQ?

Sounds simple enough but showing some screenshots and roughly how the figures need to be calculated would help

Simon@1minManager.com

Multiple choice questions . As you can see in the attached screenshot each answers has some weightage .

1. The enumlist answer choices has weightage 1 where user can multi select and max point for the question is 5 .

2. The enum answer choices has different weightage . User can select only one value here (single select) . Based on the answer choice  3,2,1 points will be given to the user .

At the end all the input values will be added and based on the SUM different result sets will be seen .

Screenshot 2022-06-29 185117.jpg

COUNT([1:..])
+
COUNT([2:..])
+
IFS(
[3:..]="They meet our organisations future needs",3,
[3:..]="They meet our organisations future needs",2,
[3:..]="They meet our organisations future needs",1,
TRUE,0
)
+
IFS(
[4:..]="1 week",3,
[4:..]="2-3 weeks",2,
[4:..]="Beyond 3 weeks",1
)

Thanks a Ton !! It is working like a charm !! Have a great day .

Don't forget to mark this as solved ๐Ÿ˜‰

Hi @1minManager @Steve Need one more help . How can i build an expression for enum list type with every options having different weightage .? You have given the perfect solution for enum type with different weightage(3,2,1 for different answers) and enum list type with same weightage (1 point for each option). But please help me creating an expression for the below data . Enum list in which user can select multiple options and all the weightage gets added in case of more then one selection

rahuldash171_0-1657718284835.png

 

Please start a new topic for help with this.

Steve
Platinum 4
Platinum 4

I can't make sense of your problem description, but it seems these might be of use to you:

COUNT() - AppSheet Help

IF() - AppSheet Help

 

I believe you can use INTERSECT() and COUNT()

https://support.google.com/appsheet/answer/10107963?hl=en

COUNT(
 INTERSECT(
  LIST(correct answers), 
  [user inputs enumlist]
 )
)

Thanks a lot but there is no correct answers only options which user has to provide .

Top Labels in this Space