You can use DLookup, but it will take a while for 2million+ rows, and all it really does is bypass the SQL engine...
Access is designed to handle relational tables, SOO in the example You used I'm assuming when You say "another worksheet will just have a random id column" that each "Id" COULD...