Andersson, der für den SK Trollhättan startete, wurde 11-mal schwedischer Juniorenmeister und belegte bei den Juniorenweltmeisterschaften 2012 in Obihiro den zehnten Platz über 1500 m sowie den vierten Rang über 5000 m und im Mehrkampf. Zu Beginn der Saison 2012/13 nahm er in Heerenveen erstmals am Eisschnelllauf-Weltcup teil, wobei er in der B-Gruppe den 25. Platz über 5000 m errang. Im weiteren Saisonverlauf lief er bei den Juniorenweltmeisterschaften 2013 in Klobenstein auf den 14. Platz über 1500 m sowie auf den fünften Rang in der Teamverfolgung und bei den Einzelstreckenweltmeisterschaften 2013 in Sotschi auf den 23. Platz über 1500 m. Dort errang er im folgenden Jahr bei den Olympischen Winterspielen jeweils den 38. Platz über 1000 m und 1500 m. Bei der Mehrkampfeuropameisterschaft 2015 in Tscheljabinsk kam er auf den 19. Platz im Großer-Vierkampf und bei den Einzelstreckenweltmeisterschaften 2016 in Kolomna auf den 12. Rang über 1500 m. In der Saison 2016/17 erreichte er in Berlin mit dem 20. Platz über 1500 m sein bestes Ergebnis im Weltcup. In der folgenden Saison belegte er bei den Europameisterschaften 2018 in Kolomna den 18. Platz über 1000 m sowie den 17. Rang über 1500 m und absolvierte in Erfurt seinen letzten Weltcup, welchen er in der B-Gruppe auf dem 22. Platz über 1000 m beendete.
Andersson wurde fünfmal schwedischer Meister im Sprint-Mehrkampf (2014–2018), viermal im Großer-Vierkampf (2013–2016), zweimal über 500 m (2014, 2017) und einmal in der Teamverfolgung (2011).