Subdivide an image over several planes

I have an actor which procedurally generates a floor of plane meshes.
Depending on how many floor tiles are created, I would like to use a material instance which takes in a texture and “stretches” it out over the floor, so that each floor tile represents a piece of the image… Or I guess more accurately, I need a material which takes in a texture, numRows/numColumns, and an XY tile index, and “extracts” that cell from the image.

There is some kind of UV magic that I need for this, but after reading up and messing around for an entire day, I just couldn’t figure out how to get everything just right. It was either the wrong scale, the wrong tile, or just a complete mess of garbage. Could someone please guide me in the right direction?

How close is this to what you need:

Looks fairly spot-on! Thanks!