I get what spud's suggesting.
For what you layed out, it'd be like this:
XP | Bonus | Fast Learner | Slow Learner | Natural Aptitude | ...
1 | 0 | 0 | 0 | 0
2 | 0 | 0
3 | 0 | +1
4 | 1 | 0
5 | 1 | 0
6 | 1 | 0
7 | 1 | +1
8 | 2 | 0
9 | 2 | 0
10 | 2 | 0
11 | 2 | 0
12 | 2 | +1
13 | 2 | +1
14 | 3 | 0
15 | 3 | 0
16 | 3 | 0
17 | 3 | 0
18 | 3 | +1
19 | 3 | +1
20 | 3 | +1
21 | 4 | 0
It would depend on how the others work, whether you can get away with a column for each Trait, or if you need a column for each possible combination of traits.
For what you layed out, it'd be like this:
XP | Bonus | Fast Learner | Slow Learner | Natural Aptitude | ...
1 | 0 | 0 | 0 | 0
2 | 0 | 0
3 | 0 | +1
4 | 1 | 0
5 | 1 | 0
6 | 1 | 0
7 | 1 | +1
8 | 2 | 0
9 | 2 | 0
10 | 2 | 0
11 | 2 | 0
12 | 2 | +1
13 | 2 | +1
14 | 3 | 0
15 | 3 | 0
16 | 3 | 0
17 | 3 | 0
18 | 3 | +1
19 | 3 | +1
20 | 3 | +1
21 | 4 | 0
It would depend on how the others work, whether you can get away with a column for each Trait, or if you need a column for each possible combination of traits.