Simpler way to convert High/Medium/Low symbols to score - without using nested IFs?
I am trying to "score" rows using Impact vs Effort columns.
I know I can do this using a complicated nested IF statement. In google sheets, I can more easily use VLookup or Choose like this:
=VLOOKUP(M4,{"Low",1;"Medium",2;"High",2},2,FALSE) / VLOOKUP(N4,{"Low",1;"Medium",2;"High",2},2,FALSE)
or
=CHOOSE(MATCH(M4,{"Low","Medium","High"},0),1,2,3) / CHOOSE(MATCH(N4,{"Low","Medium","High"},0),1,2,3)
For smartsheet, does anyone know of a way to use something simpler than the nested IF below? Can smartsheet VLookup use a string array as the range like gsheets (eg: {"Low","Medium","High"}
)?
=IF(AND([OBJ: IMPACT]@row = "High", [OBJ: EFFORT]@row = "High"), 1, IF(AND([OBJ: IMPACT]@row = "Medium", [OBJ: EFFORT]@row = "High"), .67, IF(AND([OBJ: IMPACT]@row = "Low", [OBJ: EFFORT]@row = "High"), .33, IF(AND([OBJ: IMPACT]@row = "High", [OBJ: EFFORT]@row = "Medium"), 1.5, IF(AND([OBJ: IMPACT]@row = "Medium", [OBJ: EFFORT]@row = "Medium"), 1, IF(AND([OBJ: IMPACT]@row = "Low", [OBJ: EFFORT]@row = "Medium"), .5, IF(AND([OBJ: IMPACT]@row = "High", [OBJ: EFFORT]@row = "Low"), 3, IF(AND([OBJ: IMPACT]@row = "Medium", [OBJ: EFFORT]@row = "Low"), 2, IF(AND([OBJ: IMPACT]@row = "Low", [OBJ: EFFORT]@row = "Low"), 1)))))))))
Any insights appreciated!
Best Answers
-
You could also build it out on the same sheet and then hide the columns so they are not visible.
-
Yep. That’s the option I will have to explore as well. Thanks again.
ps: allowing arrays for range inputs would add a lot of flexibility without more columns.
Answers
-
If you have the grid built out somewhere in a sheet, you can use an INDEX/MATCH/MATCH.
=INDEX({Score Portion}, MATCH([OBJ: IMPACT]@row, {Impact Labels}, 0), MATCH([OBJ: EFFORT]@row, {Effort Labels}, 0))
The MATCH function pulls a value for where within a range the specified data falls. So we use a MATCH function to pull the row number based on the Impact and another MATCH function to pull the column number based on the Effort.
Now that we have row and column numbers, we drop them into the appropriate portion of the INDEX function, and there you go.
-
Thanks for the idea @Paul Newcome.
I don't have that "grid" built out in smartsheet as it does not really fit my row structure. (wish smartsheet had "tabs" as well since I don't really want to create another loose sheet just for the grid). That is why I was checking if smartsheet allowed an array as a range input like google does (
{"Low","Medium","High"}
). This allows a huge amount of flexibility when trying to translate items without needing other physical columns. I guess not...Will have consider the trade-off between error prone nested IF's and linking to an external sheet.
Thank for the quick response!
-
You could also build it out on the same sheet and then hide the columns so they are not visible.
-
Yep. That’s the option I will have to explore as well. Thanks again.
ps: allowing arrays for range inputs would add a lot of flexibility without more columns.
Help Article Resources
Categories
- All Categories
- 14 Welcome to the Community
- Smartsheet Customer Resources
- 64.3K Get Help
- 422 Global Discussions
- 221 Industry Talk
- 461 Announcements
- 4.8K Ideas & Feature Requests
- 143 Brandfolder
- 143 Just for fun
- 59 Community Job Board
- 462 Show & Tell
- 32 Member Spotlight
- 1 SmartStories
- 300 Events
- 39 Webinars
- 7.3K Forum Archives
Check out the Formula Handbook template!