It’s ironic, that having installed and trialed so many flowcharting solutions, my tool of choice was already installed on my laptop and I didn’t even know it.

Like most people, I used to think of Excel as just a spreadsheet package. However, as I’m going to show you in this guide, it trounces other expensive flowcharting solutions and is now my favourite flowchart software. Let me tell you why;

I use flowcharts to map out any process. This is ideal for designing code, applications and any system in general. For the purpose of this guide, I’m going to flowchart the process of writing a blog post.

The 4 components I use most often are:

The Process

I usually start with a quick hand drawn sketch (I use a whiteboard). This step is optional but I find it saves time.

Once you have the idea of the basic flowchart it’s time to fire up Excel. I’ve provided the finished Excel file at the end of this page that will serve as a demo but you can also use it as a template if you like.

I’m using Excel 2003 but the steps should be similar in other versions.

Setting up the work area

Open a new Excel spreadsheet and click the top-left corner to select all cells

Right-click ANY column letter and choose Column Width, Set this to 1.71, click OK

If you like, turn off gridline display Tools>>Options>>View tab>>Gridlines tickbox

Make sure you have the Drawing toolbar visible. View>>Toolbars>>Drawing

From the Draw menu (on the Drawing Toolbar), select Snap>>To Grid

Drawing the flowchart (all steps carried out with the Drawing Toolbar)

You can select the components mentioned above from Autoshapes>>Flowchart

To move components around click and drag their border (connector lines follow)

Sub-processes/HyperlinkingNow the really cool part, if you create flowcharts that contain too much detail , you can break them down into seperate flowcharts. If a process demands a whole flowchart to itself I use the sub-process container in the parent flowchart and link it to a child flowchart using Excel’s built in hyperlinking.

To set this up;

Draw the child/sub-process flowchart on a separate Excel worksheet

On the child process, click the end component’s border

Right-click the highlighted border and choose Hyperlink…

Select Place in This Document from the menu on the left

Highlight the sheet containing the parent flowchart, then click OK

Click the end component, this will take you back to the parent flowchart

Repeat steps 2-5 with the Sub-Process box in the parent flowchart, but select the child sheet

You should now be able to navigate between parent and child flowcharts just by clicking the linked components.

And that’s it, easy! Download and play with the example, try it out on your own.

Notes1 Microsoft provide a free Excel viewer in case the person you send it to can’t read xls files.2 you can hyperlink to any kind of file, image, video and audio. I once created a flowchart to design a telephone IVR and added wave files to the components to simulate the voice prompts.

Nice job with this, but I’d like to add that you can follow essentially the same steps to do this in any Microsoft Office program. I did it in Word 2007, and apart from looking for commands through the ribbon, the instructions worked fine.

I’m glad this article is helping people out, thanks for all your comments.

@ Zimbo :
I also used SmartDraw in hope that it would be the right solution but like you, found it to be overkill.

@ Jong :
Yes/No are connected to the flowchart shapes using grouping. To set this up:
1. Draw your shape
2. Write your label next to it using a ‘Text Box’ (found on the draw toolbar)
3. Holding down the Control key, click the shape and then the label so that they both highlight.
4. Right-click one of the items and choose Grouping>Group.
5. The items will now move together when dragged. To disconnect items from the group, right-click a group set and choose Grouping>Ungroup

It would be good if several subprocesses could be placed on a single SS. But the hyperlink can not target an autoshape, but only a cell. I crudely handle this by adding 64 columns to the cell address directly under the desired start shape.

Is there a better way to cause your target subprocess to be centered in the SS when it is the target of a hyperlink from the main routine?