Family Tree Spreadsheet Template for Excel: How to Build One That Still Works at Five Generations
Most family tree spreadsheets die in the same place, and it is not where people expect.
They do not die from lack of data. They die at the great-grandparents, when a fourth column of boxes runs off the edge of the page, when the same ancestor turns up twice under two spellings, and when a birth date typed as abt 1868 stops every age calculation in the file from returning a number.
The file still opens. It just stops answering questions. And a family tree that cannot answer a question is a picture, not a research tool.
What follows is the structure that avoids all three failures — the column layout, the ID system, the numbering scheme and the one date rule that matters — with a worked five-generation example you can copy into a blank sheet today.
The Core Idea: Never Draw the Tree
The instinct is to open a blank sheet and start drawing boxes. Resist it.
A drawn tree stores its relationships in the position of the boxes. Move a box and you have changed the meaning of the file. Find out that the Edward Hale you attached in row 12 is the wrong Edward Hale, and you are not correcting a cell — you are redrawing the entire right-hand side of the chart by hand.
A working family tree spreadsheet stores relationships in two columns of numbers, and derives the picture from them.
Every person gets a permanent ID. Every person also gets a Father ID and a Mother ID — just the ID number of the person who is their father and the person who is their mother. That is the whole data model. The chart, the generation counts, the completeness percentages and the ancestor list are all calculated from those two columns.
The payoff is immediate: correcting a parentage is a single cell edit, and the entire tree redraws itself.
The Individuals Table
This is the master list. One row per person, entered once, and every other view in the file reads from it.
| Column | Example | Why it exists |
|---|---|---|
| Person ID | I0014 |
Permanent, never reused, never edited. |
| Surname | Hale |
Separate from given names so you can sort and group by family line. |
| Given Names | Edward Thomas |
Full, as recorded — not the nickname the family used. |
| Sex | M |
Drives pedigree placement and catches parent-link errors. |
| Father ID | I0028 |
The link. Blank means not found yet, not none. |
| Mother ID | I0029 |
Same. |
| Birth Date (as written) | abt 1868 |
Text. Exactly what the record says. |
| Birth Year | 1868 |
Number. Every calculation reads this. |
| Birth Place | Cork, Ireland |
As recorded, including the historical county name. |
| Death Date (as written) | 19 Jan 1941 |
Text. |
| Death Year | 1941 |
Number. |
| Death Place | Boston, MA |
|
| Living | No |
Derived, not typed — see below. |
| Sources | 3 |
Counted from the source log, not typed. |
| Row Check | OK |
Derived. The error catcher — see below. |
Three of those columns do work that is not obvious.
The two date columns are not duplication. They are the difference between a file that works and one that quietly does not. More on this below, and in the full explanation of why pre-1900 dates break Excel.
Blank Father ID means “not found yet”. This distinction sounds pedantic until you try to build a research list. An empty parent slot is not a gap in the file, it is a person who existed and whose name you have not found — which makes every blank one of your highest-value research targets. A file that cannot tell “unknown” from “none” cannot generate that list.
Living should be derived, not typed. A formula that reads “no death year recorded, and born inside a window you set” is far more reliable than a flag someone remembered to tick in 2021. Set the window yourself — 100 or 110 years is common — and treat the result as an assumption rather than a fact, because it is one.
The Row Check Column
This is the single highest-value formula in the file, and almost no template has it.
It reads each person’s own row and returns OK or the name of the problem. Six checks earn their place:
- Death before birth. Almost always a typo in one of the year columns. Catches itself instantly.
- A parent ID that does not exist in the sheet. You typed
I0284when you meantI0248. The tree now branches into nothing and no chart will tell you why. - Lifespan over 110 years. Occasionally real. Usually two different people merged into one row.
- A person listed as their own father. Sounds impossible. Happens constantly while copying rows.
- A circular parent link. Person A’s father is B, B’s father is C, C’s father is A. This is the one that matters most, because without a check it does not produce an error — it produces a pedigree chart that cheerfully fills all thirty-one slots with the same three people repeating forever, and it looks complete.
- A marriage dated before either spouse turned twelve, or after one of them died. Runs on the families table rather than individuals, but belongs in the same family of checks.
None of these are exotic. All of them are things a real file accumulates over a few hundred entries, and all of them are invisible until something downstream is wrong in a way you cannot trace.
Numbering the Ancestors: Ahnentafel
Once the tree gets past three generations, “my grandmother’s father” stops being a usable label. Genealogy has had a solution for two centuries, and it is arithmetic.
Ahnentafel numbering works like this:
- You are number 1.
- For any person numbered n, their father is 2n and their mother is 2n + 1.
That is the entire rule. It gives every ancestor in a direct line a unique, permanent number that you can calculate rather than look up:
| Number | Relationship | Formula |
|---|---|---|
| 1 | You | — |
| 2 | Father | 1 × 2 |
| 3 | Mother | (1 × 2) + 1 |
| 4 | Father’s father | 2 × 2 |
| 5 | Father’s mother | (2 × 2) + 1 |
| 6 | Mother’s father | 3 × 2 |
| 7 | Mother’s mother | (3 × 2) + 1 |
| 8–15 | Great-grandparents | |
| 16–31 | Great-great-grandparents |
Two consequences worth internalising. Every man except number 1 has an even number; every woman except number 1 has an odd number. And halving any number gives you their child in the direct line — ancestor 23’s child is 11, whose child is 5, whose child is 2, whose child is you. You can navigate five generations with mental arithmetic.
In a spreadsheet, this means the pedigree tab needs no stored relationships at all. Put your Person ID in one cell, and each of the 31 slots is a lookup that walks the Father ID / Mother ID columns the correct number of times. Change the root person to your spouse and the entire chart becomes their pedigree.
The Worked Example: A Five-Generation Count
Here is the calculation that reframes how most people read their own tree.
A five-generation pedigree has 31 ancestor slots:
| Generation | Relationship | Slots | Ahnentafel numbers |
|---|---|---|---|
| 1 | You | 1 | 1 |
| 2 | Parents | 2 | 2–3 |
| 3 | Grandparents | 4 | 4–7 |
| 4 | Great-grandparents | 8 | 8–15 |
| 5 | Great-great-grandparents | 16 | 16–31 |
| Total | 31 |
Say you have found 25 of them. That is 81% complete — which sounds excellent until you break it down by generation:
| Generation | Found | Of | Complete |
|---|---|---|---|
| 1 | 1 | 1 | 100% |
| 2 | 2 | 2 | 100% |
| 3 | 4 | 4 | 100% |
| 4 | 8 | 8 | 100% |
| 5 | 10 | 16 | 63% |
(Assumptions: a hypothetical tree, used to show the shape of the arithmetic.)
Every missing person is in generation five, and six named people are waiting to be found. That is not a vague sense that there is “more to do” — it is a research list of exactly six items, each with a known child, a known approximate era and a known place to start.
This is the single most useful thing a family tree spreadsheet does that a drawn chart cannot: it converts the absence of information into a ranked, finite task list.
It also explains the emotional shape of genealogy. Your tree does not get worse as you go back. The denominator quadruples every two generations — 31 slots at five generations, 127 at seven, 1,023 at ten — so the same amount of research buys a smaller percentage each time.
The Date Rule That Decides Everything
Here is the failure that kills more family tree spreadsheets than any other, and it is not a genealogy problem. It is an Excel problem.
Excel’s calendar begins on 1 January 1900. A date before that cannot be stored as a date value. Type 19 Jan 1868 into a cell formatted as a date and Excel does not store a date — it stores text that looks like one. Every formula downstream that expects a number now returns an error, a zero, or worse, a plausible-looking wrong answer.
This is why so many free family tree templates work beautifully for three generations and then quietly stop calculating the moment you get past your grandparents.
The fix is the two-column rule, applied to every historical date in the file:
| Birth Date (as written) — text | Birth Year — number |
|---|---|
abt 1870 |
1870 |
19 Jan 1868 |
1868 |
bef 1901 |
1900 |
1836 |
1836 |
All arithmetic reads the year column. Ages, lifespans, census age comparisons, timeline ordering and generation spans then behave identically in 1780 and in 2026.
The as-written column is never cleaned up. abt, bef, aft and circa are not sloppiness — they are the record telling you how confident it was, and throwing that away destroys evidence you will want back. A year of 1870 derived from abt 1870 is a working number; it is not a fact, and the as-written column is what reminds you.
Modern working dates — date accessed, target date, planned interview, subscription renewal — are ordinary dates and sort and filter normally. The two-column treatment is only for historical ones.
The Other Tabs a Real File Needs
The individuals table and the pedigree are the skeleton. Four more tables turn it into a research system:
Families — one row per marriage, carrying husband ID, wife ID, marriage date as written, marriage year, place and status. Children are counted automatically from the parent columns on Individuals rather than typed again, so the two can never disagree.
Sources — the citation log, one row per record, each attached to a person ID and each carrying a confidence rating: Proven, Probable, Possible or Disproven. This is the tab that stops a family story quietly becoming a fact, and it is worth a longer look at what belongs in a research log and what does not.
Research Log — the open question, the record to search next, the archive to contact, the target date. Critically, it also records what you have already searched and found nothing in, which is how you stop paying twice for the same dead end.
DNA Matches — shared centimorgans, platform, and the column that actually matters: whether the match has been attached to a named ancestor in your tree yet. A list of strangers is not evidence. Attaching them is a specific workflow.
Should It Be a Spreadsheet at All?
Honest answer: for some people, no.
A spreadsheet gives you a file you own outright, offline, with every formula visible and every figure checkable — and total freedom over what you record. Dedicated software gives you GEDCOM export, record hints, and a tree that other researchers can see.
Plenty of people run both, and the reasons to pick one or the other are specific enough to be worth setting out side by side.
Build Order
If you are starting from blank, the order matters more than the speed:
- Settings first. The living-person window, the census age tolerance, the interview urgency age. These are constants every other formula reads, and changing one later should re-price the file rather than require an edit hunt.
- Enter yourself, then your parents, then theirs. Use the ID scheme from the first row. Do not skip ahead to the interesting ancestor.
- Put your Person ID in the pedigree root cell. Confirm all 31 slots populate or show red.
- Add sources for the people you already have before adding more people. It is far less satisfying and far more valuable — a name with no source behind it is a hypothesis wearing a fact’s clothing.
- Open the checks every time you sit down. Not once a year.
That last one is the habit that separates a file that lasts a decade from one that gets rebuilt every eighteen months.
Featured on ReadySheetGo
Family Tree, Genealogy Research & Ancestry Record Organizer — $13.99
Everything above, already built — 16 linked tabs and 15,700 working formulas, with a fictional sample family loaded so you can see it running before you type anything: 30 people, 26 sources, 12 DNA matches, 23 census rows, and a tree reaching back to 1836 in which every figure calculates.
Individuals with the completeness score and all six row checks, including the circular parent link that otherwise fills a pedigree with the same three people forever. Pedigree with 31 ahnentafel-numbered slots built entirely from the Father ID and Mother ID columns — change the root person and the whole chart redraws — reporting completeness per generation and showing empty slots in red. Sources with the Proven / Probable / Possible / Disproven rating. Research Log that records the dead ends too. DNA Matches with a relationship band from an editable lookup and a Next Action column that never lets a close match sit unassigned. Census Grid that derives the birth year an enumerator’s recorded age implies and flags the gap against the year you hold, at a tolerance you set.
Plus Timeline, Interviews ranked by age, Heirlooms, Research Costs with renewal warnings, and a Dashboard running 24 checks against your own entries.
Every historical date is stored twice, as written and as a plain year, so the arithmetic works in the 1700s exactly as it works for last year.
Works in Excel and Google Sheets. No macros, no add-ons, no subscription — it works offline, so your family’s data stays on your own machine.
It is a research organiser and a record-keeping aid, not genealogical proof. A clear check means your entries are consistent with each other; it cannot tell you that you have attached the wrong Edward Hale to the right family. That judgement is yours, which is what the confidence rating is for.
Get the Family Tree & Genealogy Research Organizer →
Frequently Asked Questions
How do you make a family tree in Excel without drawing boxes?
You do not draw the tree at all — you build a flat list of people, give every person a permanent ID number, and record each person's Father ID and Mother ID in two columns. The chart is then derived from those two columns using lookups, which means the tree redraws itself whenever you correct a parent link. Drawing boxes by hand produces a picture that is out of date the moment you find a new record, and it stores no information you can search, sort or check.
What columns should a family tree spreadsheet have?
At minimum: Person ID, surname, given names, sex, father ID, mother ID, birth date as written, birth year as a number, birth place, death date as written, death year as a number, death place, living status and a source count. The two-column treatment of every date is the part most templates skip and the part that decides whether the file still calculates past your grandparents. Everything else — occupations, notes, photographs — can be added later without restructuring.
How many ancestors are in a five-generation family tree?
Thirty-one. You are generation one, your two parents are generation two, four grandparents are generation three, eight great-grandparents are generation four and sixteen great-great-grandparents are generation five, which is 1 + 2 + 4 + 8 + 16 = 31 slots. Each generation doubles, so seven generations is 127 slots and ten is 1,023. This is why a tree that feels complete at three generations feels suddenly empty at five: you have not gone backwards, the denominator has quadrupled.
Can Excel handle birth dates before 1900?
Not as date values. Excel's date system begins on 1 January 1900, so an 1836 birth cannot be stored as a real date and forcing it produces text that silently breaks any calculation reading that cell. The working solution is to store every historical date twice — once exactly as the record writes it, in a text column, and once as a plain four-digit year in a number column — then point all arithmetic at the year column. Ages, lifespans and timelines then behave identically in 1780 and 2026.