I made a new Excel tool for myself for hexcrawling, and I thought I would share. This is a detail of a 6 mile hex broken into 0.5 mile hexes (or a detail of a 12 mile hex broken down into 1 mile hexes, if you are a fan of The Alexandrian). Don't use this for every 6 mile hex, just those the players are going to be spending time in.
The tool works best if your application is set up to recalculate cells every time you make an entry or press F9 (on a PC).
The tool lets you track movement across the hex, populating subhexes with terrain types, and logging information that you develop during play. It also assists you in creating a random monster table for the hex. Eventually you end up with a two page printout that looks like this:


The list of random terrains pulls them from a table, which is based on Appendix B from the 1e DMG. Since the dominant terrain in this hex supposed to be temperate plains, if you type "Plains" in the table above where it says "Desert" in bold, it will populate the terrain list with the appropriate entries from Appendix B. You have to type it exactly, because I couldn't be bothered to remember how to make a drop-down list.
Here is the Appendix B table:
You can add columns between the "A" and "Z" columns to customize the terrain types, but the column headings in row 2 must be in alphabetical order for the lookup function to work.
The tool includes a sheet with the data from "Monsters by Terrain and Frequency on That Terrain" appendix in the 1e MM2, which looks like this:
This includes all the monsters listed in the MM2, plus a few additions you can ignore if you like. You can add or delete from this according to your preference.
In order to find creatures of a particular frequency in a particular area, you find the combination of population, climate and terrain, and click the drop-down menu. You then check the monster frequency you are looking for. You can select more than one if you want, but to use the tool you want to select a single frequency ("C", "U", "R" or "V" for Common, Uncommon, Rare or Very Rare) in order to cut and paste the monster list into the next section.
So let's say you copied the list of common monsters from the Civilized Temperate Plains list, you then paste them into the list of common monsters in cells V60:V159 on the "Blank Hex Detail" page. You can do the same with uncommon, rare and very rare creature lists.
Once you have done that, the next step is to make your list of creatures for the region, which you will enter into columns Q to T in the Regional List of Creatures. The Regional List is not specific to the hex, it is for all hexes of that type in the region. You probably want to copy the "Blank Hex Detail" worksheet and give an appropriate name to the new sheet. Lets' call it the "Graywall Plains Region" for this example. You can then use that worksheet as a basis for every detailed hex in the region.
So now I want to add regional encounters. You can see in column Q, I knew I wanted to have Bandits, Merchants and Patrols on the list of common encounters. The tool also makes suggestions, by choosing randomly from the list of common creatures in the full list; you can see that list in cells Q59:T59. For the tool to work properly, you need a least 5 creatures for each frequency type in the region, but you probably want a lot more for variety.
This is a slightly different view of the spreadsheet:
I have Nulb in a hex in the Graywall Plains region, which I want to detail, so I would make a copy of the "Graywall Plains Region" sheet and name it "Nulb Environs". Now I'm going to figure out which creatures are going to be in this specific 6 mile hex, by entering them in cells D58-D76. This will give you a MM2 style random encounter table.
You can see in column N the tool makes suggestions, which it should repopulate each time you make an entry in column D. The tool usually suggests creatures corresponding to the frequency, so you can see the suggestion for the Common rows are "Patrol" (a common encounter), the the suggestion for the Uncommon rows are "Snake, Giant Poisonous" (an uncommon encounter), the suggestion for the Rare rows are "Pedipalp, Large" (a rare encounter), and the suggestion for the Very Rare rows are "Snake, Giant Amphisbaena" (a very rare encounter).
For variety I allow a chance for the suggestions to be of a different frequency, so it is possible to have "Snake, Giant Amphisbaena" be suggested as a common encounter, in which case Nulb may have a serious giant amphisbaena snake problem.
Assuming your application recalculates every time you change a cell, every time you enter a creature on the random encounter table, the list of suggestions will repopulate.
Once the table is filled in, if you print the sheet (and don't mess up the print area) you should get something like this:

The link to the spreadsheet is
here. I have it protected (no password) so you don't accidentally delete a formula while you are messing around with it, but you are going to need to unprotect it to duplicate tabs or add custom content.
EDIT: I forgot to protect it, and it's a pain to republish, so just be careful with it and download it again if you screw it up.