You're welcome, it's nice to have the opportunity to return the help I have been given by forumites.
My racing database is 2.2 million rows * 50 columns in the largest table, the Horse-in-Race table that stores all the race specific data for each horse in a race. It's supported by tables for the Races data, Jockies, Trainers, Going, (non-race specific) Horse data, etc. etc. but it can sort and display in a few seconds.
One thing you will learn with a real database is the use of relational tables and indexes. Indexes tell the software where a record is in a table so that it doesn't have to go through all data row by row to find stuff. You don't index everything just the columns you usually search on. Relational tables (referred to as 'Normalisation' in database world) are where you have a table for each field with common multiple entries. So in my example the Horse-in-Race table will refer to the ID of the horse in the Horses table so for each Horse-in_Race entry I store the ID number of each runner from the Horses table and that gives me the name, sex, DOB, Sire, Dam etc. of the Horse for every race it runs in while only storing that data once. Relational tables may sound more complicated than Excel but once you start thinking of data in categories it falls into place and allows you to apply filters more efficiently. You can of course still do an all encompassing single table while you think of how to design the data!