Advent of Code is back! Unwrap daily challenges to sharpen your Alteryx skills and earn badges along the way! Learn more now.

Weekly Challenges

Solve the challenge, share your solution and summit the ranks of our Community!

Also available in | Français | Português | Español | 日本語
IDEAS WANTED

Want to get involved? We're always looking for ideas and content for Weekly Challenges.

SUBMIT YOUR IDEA

Challenge #47: Vehicle Identification Number Test

jamielaird
14 - Magnetar

Update: Here's a completely ridiculous (but functional) solution with the check digit calculation in one formula tool, just to illustrate that fewer tools is not always better.

 

Spoiler
Untitled.png

IF Mod(((ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),0,1))*8)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),1,1))*7)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),2,1))*6)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),3,1))*5)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),4,1))*4)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),5,1))*3)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),6,1))*2)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),7,1))*10)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),8,1))*0)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),9,1))*9)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),10,1))*8)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),11,1))*7)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),12,1))*6)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),13,1))*5)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),14,1))*4)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),15,1))*3)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),16,1))*2)), 11)=10 THEN 'X' ELSE Mod(((ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),0,1))*8)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),1,1))*7)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),2,1))*6)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),3,1))*5)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),4,1))*4)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),5,1))*3)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),6,1))*2)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),7,1))*10)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),8,1))*0)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),9,1))*9)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),10,1))*8)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),11,1))*7)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),12,1))*6)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),13,1))*5)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),14,1))*4)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),15,1))*3)
+ (ToNumber(Substring((Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace([VIN],"A","1"),'B','2'),'C','3'),'D','4'),'E','5'),'F','6'),'G','7'),'H','8'),'J','1'),'K','2'),'L','3'),'M','4'),'N','5'),'P','7'),'R','9'),'S','2'),'T','3'),'U','4'),'V','5'),'W','6'),'X','7'),'Y','8'),'Z','9')),16,1))*2)), 11) ENDIF
 
patrick_digan
17 - Castor
17 - Castor

Fun Challenge.

Spoiler
Capture.PNG
nick_ceneviva
11 - Bolide

Solution Attached

Natasha
9 - Comet

Enjoyed this one

Spoiler
Screen Shot 2017-10-29 at 23.18.19.png
elamm43
7 - Meteor

I just stumbled upon this because I had just built a VIN validation macro (attached)! It adds a boolean column indicating whether the VIN checks or not.

 

I used the same logic for the challenge solution. I disagree that you need to build lookup tables or do any joins :P

 

Spoiler
Lamm_20171121.PNG
elamm43
7 - Meteor

macro

samN
10 - Fireball

Fun Little Challenge!

ggruccio
ACE Emeritus
ACE Emeritus

Halfway thru setting it up I realized this would be easier with a macro.

PhilipMannering
16 - Nebula
16 - Nebula

This was very enjoyable. I love the real-world application problems. Solution attached.

 

Spoiler
challenge_47 - Snip.PNG
LandonG
8 - Asteroid

Solution attached.