I honestly started this quixotic endeavour with the intention of making a simple spreadsheet to track my Crusade tallies. I'd never written an IF function in a spreadsheet before. I didn't even know IF functions were a thing in Google Sheets. Neither had I considered making something that could be used to make army lists in seconds via some tick boxes.
Sometimes, feature creep bears unexpected fruit.
Today's post is intended as a useful resource for anyone using the Crusade Rules in 9th edition 40K, but honestly, I think it's pretty useful for anyone who regularly changes their list between games.
What is it?
It's a digital version of the army roster for Warhammer 40,000 Crusade. It has been designed to suit tracking your Crusade force on your mobile phone using Google Sheets, so the sheets are formatted to be easily navigable on a small screen rather than a PC. Because it's a Google Sheet, you can update it on either your computer or your phone, and any changes you make will update across those platforms.
There is a sheet called 'Order of Battle' that has various automated cells that calculate things like points, supply usage, crusade points, and so on. There are then sheets for each unit to store information like their experience, abilities, combat tallies, relics, and so on. When you have entered the details for your individual units, you can use the tick boxes on the Order of Battle sheet to quickly tot up the value of the force you want to use for the next game.
The sheet displays both Power Level and Points, so you can use whichever you prefer. It doesn't matter either way - it's just as quick to add up either one.
Why did you make this?
Because I'm unaware of any resource that does this in a phone-friendly manner. Arguably it would be better as an app, but at least with Google Sheets this means you can change it to your liking. Once I'd gotten things like the tick boxes working, it seemed silly to have put all that effort in and then not make it available for other people.
I couldn't have made this without the assistance of Tom (occasional Bunker contributor and actual programmer). He pointed me in the direction of the formulas I needed to make this work, and badgered me about keeping the formulas consistent and tidy. Regular Bunker author Andy also made some good suggestions for further refinements, and even embarked on a crazed quest to code some scripts that would automate even more stuff, but ultimately they proved too crunchy for poor ol' Google Sheets.
Thanks also to the other Bunker dwellers, as well as the Independent Characters podcast community who provided excellent feedback.
How do I use it?
First thing's first: click this link to go to the sheet, or click either of the images below.
There is a Readme sheet that provides instructions, but I'll repeat them here:
1. Go to File and make a copy of the Google Sheet on your own Google Drive. It's probably best to do this, and the other initial setup, on a PC rather than your phone. That way it'll be much easier to change the colours, fonts and pretty much anything else you want to change.
2. Enter the appropriate information on the sheet for each unit. When you enter a number in a unit's Points, Power Level or Crusade Points, this will automatically update in the Order of Battle sheet. It might also be worth deleting any lines you don't need - most units don't have psychic powers, for example!
3. Prior to a game, click/press the tick boxes in the Order of Battle sheet to quickly add up your Points, Power Level and Crusade Points.
4. Use your phone to update your units' tallies during your games.
Customising the tab names & troubleshooting
Changing tab/sheet names
If you want to change the name of the tabs from Unit 1, 2, 3 etc, go ahead . After you have renamed them, you will also need to update the appropriate Crusade Card/Sheet Name field in the Order of Battle sheet. Google Sheets is less buggy if you rename the unit sheet first, then update the name in the Order of Battle sheet.
If you get the above steps and get a #REF error in the formulae, delete the sheet name on the Order of Battle. Then, enter the sheet name again - that should force a refresh and clear the problem.
Adding/removing unit sheets
If you delete any unit sheets, you'll want to delete its name from the Order of Battle sheet. Likewise if you need to add sheets for new units, you'll need to enter the new sheet name in the Order of Battle.
The easiest way to add a new unit is to right click on a unit card and duplicate it. If you end up having more than 20 units, add some rows to the bottom of the Order of Battle sheet, merge whatever cells you need to merge, then extrapolate the formulae down.
(If you're not sure what I mean by that, extrapolation is when you click on the cell with the formula, then mouse over the little square in the bottom right of the cell so that the cursor becomes a +, then click and drag down into the new cell.)
It's also worth noting that if you want to de-clutter your Order of Battle, you can just delete the unit name and that line will go blank.
Adding images for your units
One of the gamers in our group, Harvey, suggested it would be cool if there was space to add an image of each unit on its card. Obviously this will bloat your filsize, which is something to consider when accessing it with mobile data, but I've added an empty cell at the top of each tab. There are instructions in that box on how to add an image.
Since I'm a rampant obsessive, I have created a simple Photoshop file that's 1000x500 pixels. If you dump the photo you want to use into that file as a new layer, and use the transform tool (CTRL+T) to move it about and crop/resize to your liking, then save it as a JPG or whatever, this will ensure all your images will display with the same proportions inside the roster, which makes browsing between different unit cards less disorientating. Obviously you'll need to adjust the row height in the sheet when you first add the image; I didn't want to put a massive empty box on everyone's sheet just because some people might want to add images. Here are some examples:
If you want said template, go here. Of course you could also chuck in an army symbol or whatever else on your Order of Battle, as I've done here for my Cobalt Scions.
You'll note I've got an extra cell on the Order of Battle sheet shown above. The one where I've put the unit type next to the name. This let me keep the actual sheet names short for easier scrolling on my phone (the sheet names being the first column). I figured it'd be easier for me to parse my ridiculous Roman names if I also had the unit type displayed. If you want the same format, all you have to do is to unmerge the Sheet Name cell, then re-merge the cells as preferred. You can type anything in that second column, as it's not used in any formulae - only Column A is referenced by the formulae, and as long as what you write in Column A is a perfect match for the name of a sheet in the document, the formula will work.
Final Thoughts & Feedback
Hopefully this is of use; obviously you'll still need to manually enter all your units' points and power levels in their unit cards, and update those whenever GW put out any changes, but after that initial setup I hope you'll find this easier than the many clicks needed to create a list in Battlescribe.
I've chosen not to try and get this spreadsheet to contain all your units' rules and stats - this is just a Crusade Roster. Personally I find Battlescribe's output a bit visually bloaty, and the 40K app isn't yet ready to be an in-game thing, so I've made my own summary sheet for my Space Marines. I'll put that out in a future post after the new Codex drops. Edit: click here for my Space Marine summary sheet, plus other tips for streamlining the 9th edition in-game experience.
If this roster is beneficial, or something didn't make sense, or if there are changes you'd like to suggest, leave a comment on this post and let me know!
23rd October 2020
The unit cards were updated to automatically display the unit's rank based on their total XP. If you want to incorporate this feature into an existing roster, just open the sheet linked above and copy/paste the unit rank formula into your unit cards.
1st February 2021
Several new features this time, several of which were suggested by extremely helpful reader Jonathan (@jjarcher89 on Instagram). He suggested some changes to the unit card tallies section and the addition of a requisition log.
The Requisition Log
The requisition log was a great idea, so that was a no brainer. It's just so much easier being able to track where your requisition points went, and much easier to figure out if you screwed up. I simplified Jonathan's design somewhat, as I realised this was also a good place to store a minimalist campaign diary... so if you hate it, blame me not him!
Automated unit XP calculation
With the unit tallies, I had faithfully reproduced GW's original design but it turns out this omits things the rules explicitly tell you to track, such as the number of times a unit is marked for greatness. Jonathan made some clever refinements here, separating out the agenda and unit kill tallies, and adding a function to auto-calculate the unit's total XP. This made cunning use of a FLOOR function to ensure that when you divide the total unit kills by 3, the total always rounds down and returns a whole number - meaning it displays the correct amount of XP. What I'm trying to say here is that in technical terms, I invite you to join me in offering Jonathan an approving golf clap.
I've reformatted Jonathan's work somewhat to save visual space and reduce the amount of numbers on screen, but the bulk of the credit is his. I've also added pop-up explanatory notes to various cells; hopefully they're helpful and unobtrusive.
This section edited on 17th April 2021
The final big change I made was to Agendas. I realised it'd be useful if this was more automated, particularly since the Agenda XP calculation is a little laborious since different Agendas provide different amounts of XP, and you don't want to have to copy that information over onto each unit card every time you play a battle.
I've gotten around this by having a new sheet in which you enter your Agendas when you start a battle, and say how much XP each tally is worth. All the unit sheets then automatically update with that information, so all you have to do is update each unit's tally as you play - the sheet will then auto-calculate the total XP the unit gets from Agendas for that battle.
This is far from perfect, however, and needs some caution to use accurately.
If you choose one of the agendas that is less linear, e.g. do the MacGuffin action 3 times to gain 2XP, the sheet won't handle that accurately. It'll still replicate the text and let you enter a tally, but obviously it'll output the wrong number since those agendas use different maths. Therefore, it's probably simplest to keep the tally like normal, then at the end of the game, temporarily delete that agenda's tally so you can see how much XP you got from the other agendas before manually adding in whatever you got for the more complex one.
In theory one could replace all the typing and manual stuff with a drop-down menu of all the agendas in the game, but there's no way I'm keeping that updated as new Codexes come out; the formulas would be relatively complex, particularly for non-linear agendas where you have to do it Y times before getting any XP at all. Better to keep it simple. Well, better for me. Not so much for you.
Optional unit sheet format: full stats & weapon profiles
Following a suggestion from Dark_Goblin on Goonhammer, I have included an optional format of the unit sheet that gives you the space to include literally all the unit's stats, thus meaning you wouldn't need a codex or other summary sheet during your games. This format will probably suit some people more than others, and takes up a bunch more visual space, but it would enable you to incorporate the bonuses from your Battle Honours straight into your stats.
Upgrading your Roster to v1_3
Honestly this update is big enough that it might just be easier to copy the stuff out of your current roster and into a fresh copy. It's a non-mandatory bummer, I know, but hopefully the quality of life improvements are worth it. If it's any consolation, I currently have no ideas for further improvements, so it's not like I'll be putting out another big change in a few weeks.
If you really don't want to have to update your unit cards, you could just export the Requisition Log. To do this, right click on its sheet name and click Copy To > Existing Spreadsheet, and then select your current roster from your Google Drive.
If you have thoughts on these changes, good or bad, please leave a comment so I know what works and what could be improved. Cheers!