First, you should only use alphanumeric and underscores in names. That means no spaces or special characters. The table [GAP Sales] should become [GAPSales] and [c#Contract ID] should become c_ContractID, or something similar.
Second, use autonumber primary keys. They are the heart of creating relationships in a relational database--they are how you should link tables to each other.
So the gross admin buckets I have all mean different things, so they should not be combined in my case.
I don't know what you mean by "combined", but it seems you are arguing against a seperate table for them--that is wrong. You definitely need another table for all your [Gross Admin N] data. Actually, you need a new table for all your [X Admin N] data (where X is a type and N is a number).
So, from my first 2 paragraphs, that means GAPSales has a primary key called [GAP_Sales_ID]. You now create a new table to handle all that [X Admin N] data. It would have this structure:
AdminData
AdminData_ID, autonumber, primary key
GAP_Sales_ID, number, foreign key to GAPSales table
AdminData_Type, text, this will hold if the record is for Gross or Net (you now store this in a field name),
AdminData_Number, number, this will hold the suffix of each field name if necessary
AdminData_Value, ?, this will hold the value currently in each of those fields
That's it, those 5 fields in that one table will now house all your [Gross Admin N] and [Net Admin N] data currently in GapSales.
I fear by some of your field names suffixes (AVG_, Gross_, Max_) you might have used some calculated fields in your tables. That too is incorrect if you are storing the data that goes into those calculations sepereately from them.