There are
590 mi
from Troy, MI to Marshalltown, IA
That's the driving distance. It would take 11 hours 1 min to go from Troy, Michigan to Marshalltown, Iowa.
The flight distance (direct flight from Troy, MI to Marshalltown, IA) is 499.65 mi.
590 mi = 949.29 kms