<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4886916435744894482</id><updated>2012-01-29T03:39:28.455-08:00</updated><title type='text'>David @ Work</title><subtitle type='html'>a productivity and excel blog</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://davidmerlemontgomery.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://davidmerlemontgomery.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>David</name><uri>http://www.blogger.com/profile/01310468206360138820</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Nck4gdGWlng/Sq0q6wvkERI/AAAAAAAACr0/yZNW_KWq5fE/S220/IMG_0316_2.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>18</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4886916435744894482.post-3186474865774814377</id><published>2010-02-03T09:49:00.000-08:00</published><updated>2010-02-03T09:49:49.039-08:00</updated><title type='text'>No New Posts Until Summer</title><content type='html'>This is an update about the lack of updates.&amp;nbsp; Sorry to disappoint, I know you saw a new post from David @ Work pop up in your RSS reader and got hot and bothered for some Excel knowledge.&lt;br /&gt;&lt;br /&gt;Much to my surprise, people more important than me became aware of my modest Excel and design skills and decided to put them to good use.&amp;nbsp; If this sounds like something that you'd like, I assure you it isn't, but if you're compelled to put your own hand on the stove just leave a bunch of Edward Tufte and Stephen Few books sitting around your desk.&amp;nbsp; I'm pretty sure that's what gave me away.&lt;br /&gt;&lt;br /&gt;Back to the point, I now have the task of redesigning nearly every single template that our analytics department uses to be cleaner, more concise, more flexible, more informative, more intuitive, and more aesthetically pleasing.&amp;nbsp; I know enough to fully comprehend the terrifying scope of this task, but not enough to competently &lt;i&gt;complete &lt;/i&gt;it.&amp;nbsp; I guess I should probably read all of the books I have sitting around my desk.&lt;br /&gt;&lt;br /&gt;So for the next several months I'll be up to my eyeballs with this stuff.&amp;nbsp; All of our clients are different, so we have to account for plans without vision, without dental, with multiple plan designs at multiple locations, with HRAs, with only a few years of experience, and--most problematically--without 12 month plan years.&amp;nbsp; There go all of my mod 12 formulas...&lt;br /&gt;&lt;br /&gt;What does this mean for the blog?&amp;nbsp; I won't be updating it.&amp;nbsp; I'm already thinking about the redesign project every waking minute and I'm spending all of my free time reading &lt;i&gt;non-fiction books&lt;/i&gt;.&amp;nbsp; I don't have the time or the enthusiasm to keep writing about Excel on top of all of that.&lt;br /&gt;&lt;br /&gt;In all seriousness though, this is an exciting opportunity.&amp;nbsp; The transition might be a ton of work, but once the project is done we will have, unquestionably, the sexiest charts in the entire industry.&amp;nbsp; That's my motivation.&amp;nbsp; Because of the nature of our work, the goal of our analytical exhibits isn't &lt;i&gt;just&lt;/i&gt; to tell a story with the data, but also to market ourselves to existing and potential clients and reveal our competitors for what they are: &lt;i&gt;amateurs&lt;/i&gt;.&amp;nbsp; To paraphrase Batman, this isn't a spreadsheet, it's an operating table.&amp;nbsp; And I am the surgeon.&lt;br /&gt;&lt;br /&gt;I do plan to revisit the blog when my life permits.&amp;nbsp; I have an article in my head about creating Conway's Game of Life in Excel using circular references that needs to be written at some point.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4886916435744894482-3186474865774814377?l=davidmerlemontgomery.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidmerlemontgomery.blogspot.com/feeds/3186474865774814377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2010/02/no-new-posts-until-summer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/3186474865774814377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/3186474865774814377'/><link rel='alternate' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2010/02/no-new-posts-until-summer.html' title='No New Posts Until Summer'/><author><name>David</name><uri>http://www.blogger.com/profile/01310468206360138820</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Nck4gdGWlng/Sq0q6wvkERI/AAAAAAAACr0/yZNW_KWq5fE/S220/IMG_0316_2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4886916435744894482.post-4454003573985931978</id><published>2009-12-30T14:17:00.000-08:00</published><updated>2009-12-30T14:17:25.799-08:00</updated><title type='text'>Charts that Suck</title><content type='html'>Yes, I know every excel blog has a feature like this, but I'm not feeling inspired today and I need some filler.&amp;nbsp; Also&amp;nbsp;&lt;a href="http://reflectionof.me/relative-prices-of-different-liquids-1"&gt;this chart&lt;/a&gt; just plain irritated me.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_Nck4gdGWlng/SzurDaMWWiI/AAAAAAAAC6c/GZKj-J8SVeY/s1600-h/victim.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_Nck4gdGWlng/SzurDaMWWiI/AAAAAAAAC6c/GZKj-J8SVeY/s640/victim.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;Problems I have with this chart:&lt;/b&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;It's 3d.&lt;/li&gt;&lt;li&gt;The bars are all different colors.&lt;/li&gt;&lt;li&gt;It's using the default Excel palette.&amp;nbsp; Not only is everyone bored with it by now, it was ugly to begin with.&lt;/li&gt;&lt;li&gt;It's 3d.&lt;/li&gt;&lt;li&gt;The key is an inefficient way to label this type of chart.&lt;/li&gt;&lt;li&gt;I don't think these are "relative prices".&amp;nbsp; Just prices would be fine.&lt;/li&gt;&lt;li&gt;The bars are touching!&amp;nbsp; Data needs to breathe.&lt;/li&gt;&lt;li&gt;Vertical text.&lt;/li&gt;&lt;li&gt;It's 3d.&lt;/li&gt;&lt;li&gt;The "Liquids" label on the axis wouldn't be necessary if the chart was labeled correctly in the first place.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;b&gt;Things that I appreciate about this chart:&lt;/b&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;The data is ordered in a useful way.&lt;/li&gt;&lt;li&gt;A bar chart is the correct graph for the data, as opposed to a line graph, scatter plot, or pie chart.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;No wacky textures or other irritating effects were added.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;Let's fix it.&amp;nbsp; First of all, change the color palette.&amp;nbsp; I could write a book about proper color palette use in Excel.&amp;nbsp; It wouldn't be terribly informative or correct, and I'd probably end up anthropomorphizing the colors and turning it into trashy cyberpunk pulp starring the color fuschia, but I could write it.&amp;nbsp; I'll put a post together about it in the distant future.&amp;nbsp; For now, here are the rules for a good color palette (I'm not intentionally making this post a series of numbered lists, it's just kind of turning out that way):&lt;br /&gt;&lt;ol&gt;&lt;li&gt;White.&lt;/li&gt;&lt;li&gt;Black.&lt;/li&gt;&lt;li&gt;5-10 shades of gray, ranging from very light to very dark.&lt;/li&gt;&lt;li&gt;A strong red, something a little deeper than just the 255 red (for "bad" or negative numbers).&lt;/li&gt;&lt;li&gt;Several monochromatic color series for ordered data.&amp;nbsp; Generally, lighter is better because you can use it for backgrounds as well.&amp;nbsp; I like blues and greens for this.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;A series of complementary colors for unrelated data.&amp;nbsp; Think pie chart.&amp;nbsp; I like autumn colors or colors that remind me of food for this.&lt;/li&gt;&lt;/ol&gt;Here is my current color palette.&amp;nbsp; You can see that I've broken some of my own rules, but this is a work in progress.&amp;nbsp; I'm not happy with the red series and I need more gray.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_Nck4gdGWlng/Szu6S3WDQ1I/AAAAAAAAC6k/lJFbldIaFO0/s1600-h/colors.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_Nck4gdGWlng/Szu6S3WDQ1I/AAAAAAAAC6k/lJFbldIaFO0/s320/colors.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Because this is a chart about money I'm going to use a green&lt;span style="font-size: x-small;"&gt;*&lt;/span&gt;.&amp;nbsp; That's probably more thought than you need to put into something like this, but anything worth doing is worth doing right.&amp;nbsp; I'm just getting into all of the psychology behind color, and I'd recommend &lt;a href="http://www.amazon.com/gp/product/0966638328?ie=UTF8&amp;amp;tag=dawo-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0966638328" tooltip="linkalert-tip"&gt;Pantone Guide to Communicating with Color&lt;/a&gt;&lt;img alt="" border="0" class=" tmoengntmckmwnbwjlao tmoengntmckmwnbwjlao tmoengntmckmwnbwjlao tmoengntmckmwnbwjlao tmoengntmckmwnbwjlao tmoengntmckmwnbwjlao tmoengntmckmwnbwjlao" height="1" src="http://www.assoc-amazon.com/e/ir?t=dawo-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=0966638328" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt; as a good place to start.&lt;br /&gt;&lt;br /&gt;The background of the chart should be very light gray or white, grid lines and borders should be gray if you want them, the actual bars should not have borders.&lt;br /&gt;&lt;br /&gt;As far as the fonts, I like Georgia for text, Tahoma for numbers.&amp;nbsp; You might have heard that you should change the font based on whether it will be read on paper or electronically as Serifs are supposed to be easier to read in print and Sans Serifs are supposed to be easier to read on a computer screen.&amp;nbsp; This is hogwash and hasn't been supported by scientific study; Google it if you want.&amp;nbsp; Regardless of medium, Georgia is a damn fine font, though the descending numbers make it unsuitable for numbers by themselves so that is why I also use Tahoma.&amp;nbsp; I usually use 8 point font for labels, 10 point font for titles, but the scale really depends on where you're going to put it.&amp;nbsp; As a rule though, titles should be about 2 points bigger than the rest of the text for most applications.&lt;br /&gt;&lt;br /&gt;I changed the chart to a horizontal bar chart so that the long category names would fit easily and we wouldn't have to use a key.&amp;nbsp; The bars are also a little too skinny by default.&amp;nbsp; The chart reflects the data, so if you want your data to look solid you'd better use bars that don't look like they'd snap off in a stiff breeze.&amp;nbsp; I changed the gap width to 70.&lt;br /&gt;&lt;br /&gt;The repaired chart:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_Nck4gdGWlng/SzvPmCPNuiI/AAAAAAAAC6s/0ctwEU47VKg/s1600-h/chart.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_Nck4gdGWlng/SzvPmCPNuiI/AAAAAAAAC6s/0ctwEU47VKg/s640/chart.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;Note to self: stop leaving the mouse cursor in screen shots.&amp;nbsp; That's all for today.&amp;nbsp; In unrelated news, my girlfriend is going to buy me office 2010 for Christmas.&amp;nbsp; I'm a little scared to leave the comfort of 2003 behind, but it will be nice to have my own Excel license if I ever want to start freelancing.&amp;nbsp; Next Christmas I want Tableau.&lt;br /&gt;&lt;br /&gt;-David&lt;br /&gt;&amp;nbsp;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;* I realize that not all money is green and that not all of my readers are from the United States, but U.S. currency is the most recognized currency in the world according to an unscientific poll I conducted that technically has the largest sampling bias possible.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;script src="http://www.assoc-amazon.com/s/link-enhancer?tag=dawo-20&amp;amp;o=1" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;noscript&gt;&amp;amp;amp;amp;lt;br /&amp;amp;amp;amp;gt;     &amp;amp;amp;amp;lt;img src="http://www.assoc-amazon.com/s/noscript?tag=dawo-20" alt="" /&amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br /&amp;amp;amp;amp;gt; &lt;/noscript&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4886916435744894482-4454003573985931978?l=davidmerlemontgomery.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidmerlemontgomery.blogspot.com/feeds/4454003573985931978/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2009/12/charts-that-suck.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/4454003573985931978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/4454003573985931978'/><link rel='alternate' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2009/12/charts-that-suck.html' title='Charts that Suck'/><author><name>David</name><uri>http://www.blogger.com/profile/01310468206360138820</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Nck4gdGWlng/Sq0q6wvkERI/AAAAAAAACr0/yZNW_KWq5fE/S220/IMG_0316_2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Nck4gdGWlng/SzurDaMWWiI/AAAAAAAAC6c/GZKj-J8SVeY/s72-c/victim.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4886916435744894482.post-4290091652841902126</id><published>2009-12-17T13:28:00.000-08:00</published><updated>2009-12-17T13:33:39.305-08:00</updated><title type='text'>Enhance Excel's Autosave with a File Syncing Service</title><content type='html'>I love this tip because I invented it.&amp;nbsp; I suppose other people might do the same thing, but it would be a parallel evolution of ideas as opposed to me looking at what other Excel blogs were writing about a year ago, adding swear words, and calling it an original post.&lt;br /&gt;&lt;br /&gt;If you use Excel extensively, you know that it has the potential to lock up or crash.&amp;nbsp; A lot.&amp;nbsp; This mostly happens to me when I'm using formula auditing, but I've also been the victim of unprovoked crashes on multiple occasions.&amp;nbsp; Losing over an hour of work is pretty much a day-ending and possibly career-ending event for me as my only tools for coping with adversity are random, shocking violence and destruction of property, so I go to great lengths to make sure this never happens.&lt;br /&gt;&lt;br /&gt;Fortunately, Excel has an autosave feature.&amp;nbsp; Unfortunately, this feature sucks.&amp;nbsp; Depending on how Excel crashed and how you restarted it, you may or may not be given the list of recoverable documents.&amp;nbsp; Also, despite setting the autosave interval as low as 10 minutes, you'll have inexplicable gaps in coverage.&amp;nbsp; Browsing to the directory where autosaves are kept can help, but Excel seems to clean this directory out pretty regularly.&lt;br /&gt;&lt;br /&gt;What is one to do?&amp;nbsp; Well, you should be backing up the autosave directory remotely and instantly, giving you access to every version of your Excel documents going back as far as your storage space will allow.&amp;nbsp; There are a number of programs that do this, many of them free.&amp;nbsp; A lot of people like to use &lt;a href="https://www.dropbox.com/" tooltip="linkalert-tip"&gt;Drop Box&lt;/a&gt; for file syncing, but Drop Box only backs up one folder unless you hack it with odd shortcuts.&amp;nbsp; I prefer SugarSync.&amp;nbsp; SugarSync can back up or sync any folder you want either with your online account only or between multiple computers.&amp;nbsp; SugarSync is free to sign up for, but if you do it with &lt;a href="https://www.sugarsync.com/referral?rf=bb0m36j285389" tooltip="linkalert-tip"&gt;this link&lt;/a&gt; I get a free storage upgrade.&amp;nbsp; Please?&lt;br /&gt;&lt;br /&gt;I'm not going to go into the details of how to set up SugarSync, suffice to say it isn't brain science.&amp;nbsp; Once you do have it set up, you need to locate your autosave directory.&amp;nbsp; In Excel, go to &lt;i&gt;Tools &amp;gt; Options &amp;gt; Save&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_Nck4gdGWlng/SyqZToluSzI/AAAAAAAAC6E/-60F8fCDR9E/s1600-h/autosave1.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_Nck4gdGWlng/SyqZToluSzI/AAAAAAAAC6E/-60F8fCDR9E/s640/autosave1.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;The AutoRecover save location is the directory you want.&amp;nbsp; Keep this path handy, as SugarSync forces you to browse to the location instead of just pasting it in.&amp;nbsp; Also, make sure that autosave is enabled with a time interval that you're comfortable with.&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Now in SugarSync go to &lt;i&gt;Manage Sync Folders&lt;/i&gt; and click on &lt;i&gt;Add Folders from this Computer&lt;/i&gt;.&amp;nbsp; From there, browse to the backup folder, usually C:\Documents and Settings\Your User Name\Application Data\Microsoft\Excel\, and check the box next to it, then hit okay.&amp;nbsp; Congratulations, you'll never lose more than x minutes of work in Excel ever again.&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;a href="http://1.bp.blogspot.com/_Nck4gdGWlng/SyqZUwjVJtI/AAAAAAAAC6M/By0bWlalnGw/s1600-h/autosave2.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_Nck4gdGWlng/SyqZUwjVJtI/AAAAAAAAC6M/By0bWlalnGw/s640/autosave2.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;You may notice though that this folder is pretty empty.&amp;nbsp; It actually syncs up with the local folder, so it's deleting files at the same time Excel is.&amp;nbsp; It hangs on to all of these files in a deleted files folder though, so you should have every version going back quite a ways.&amp;nbsp; I think SugarSync hangs onto the files until you run out of space; I have files going back to mid-November when I last cleaned it out.&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://2.bp.blogspot.com/_Nck4gdGWlng/SyqZWi_3ToI/AAAAAAAAC6U/EXVWKlA4XPU/s1600-h/autosave3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_Nck4gdGWlng/SyqZWi_3ToI/AAAAAAAAC6U/EXVWKlA4XPU/s640/autosave3.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;The bad thing about this system?&amp;nbsp; Well for starters you can't tell what the file is for sure until you open it because Excel assigns it a gibberish name.&amp;nbsp; If you have a rough idea of the size of the workbook and when you were last working on the version you want though, you shouldn't have too hard of a time.&amp;nbsp; The other problem is that really large files that you're working on over the course of the day will back up dozens of times and that can eat into your free space pretty quickly.&amp;nbsp; You could always register for more space, which brings me to the last negative:&amp;nbsp; SugarSync's business model may not be profitable, and they might not be around forever.&amp;nbsp; I'm sure they'll give you advance notice if the service is going down though so you don't lose all of your data, and there will always be some other free option out there to replace it, so this shouldn't be a big deal.&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;The great thing about this system?&amp;nbsp; It isn't just protecting you from crashes, it's protecting you from yourself.&amp;nbsp; Have you ever started working on an old workbook as a template but then hit save instead of save as, unintentionally destroying the original?&amp;nbsp; Have you ever screwed up a workbook so completely that you need to go back in time and start over?&amp;nbsp; Have you ever had a workbook out on your network mysteriously vanish?&amp;nbsp; Have you ever just plain forgotten to save a file?&amp;nbsp; If you haven't, it's probably because you're young and your brain hasn't been ravaged by alcohol, drugs, reality television, and old age.&amp;nbsp; Your probably aren't even burnt out on your job yet!&amp;nbsp; Ah, sweet ignorance... but for the rest of us, this is a great back up plan and it's saved my bacon more than I care to admit.&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Also, once you have SugarSync up and running, you can go crazy synchronizing mp3s, your personal macro workbook, plug-ins, and all sorts of other stuff between your work and home computers.&amp;nbsp; It'll be like you never even left the office!&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;-David&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4886916435744894482-4290091652841902126?l=davidmerlemontgomery.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidmerlemontgomery.blogspot.com/feeds/4290091652841902126/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2009/12/enhance-excels-autosave-with-file.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/4290091652841902126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/4290091652841902126'/><link rel='alternate' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2009/12/enhance-excels-autosave-with-file.html' title='Enhance Excel&apos;s Autosave with a File Syncing Service'/><author><name>David</name><uri>http://www.blogger.com/profile/01310468206360138820</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Nck4gdGWlng/Sq0q6wvkERI/AAAAAAAACr0/yZNW_KWq5fE/S220/IMG_0316_2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Nck4gdGWlng/SyqZToluSzI/AAAAAAAAC6E/-60F8fCDR9E/s72-c/autosave1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4886916435744894482.post-5762380605877675461</id><published>2009-12-11T18:02:00.000-08:00</published><updated>2009-12-17T13:29:29.670-08:00</updated><title type='text'>Secret Santa Worksheet</title><content type='html'>I made a worksheet for everyone who wants to do a Secret Santa gift exchange but doesn't own a hat.&amp;nbsp; You type in a list of names (the gift givers), click a button, and get a new list of names (the gift receivers) randomly shuffled with no name in its previous position.&amp;nbsp; I &lt;i&gt;almost&lt;/i&gt; decided to sell this, but several things changed my mind:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;My VBA coding skills are actually horrible and I'd be ashamed to profit from them.&lt;/li&gt;&lt;li&gt;It would almost certainly complicate my taxes which I can barely do as it is.&lt;/li&gt;&lt;li&gt;I couldn't find any terms of use for the Santa image but I was too lazy to find a replacement.&lt;/li&gt;&lt;li&gt;The only people who would buy it would be people who read my blog, and I love you all too much to let money come between us.&lt;/li&gt;&lt;/ol&gt;So, uh, happy holidays.&amp;nbsp; I hope it fits.&amp;nbsp; What?&amp;nbsp; You want to know how it works?&amp;nbsp; Sigh...&lt;br /&gt;&lt;br /&gt;Okay so my stupid worksheet looks like this:&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_Nck4gdGWlng/SyKrQTs0ySI/AAAAAAAAC5A/uum0sNfJD0g/s1600-h/santa1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_Nck4gdGWlng/SyKrQTs0ySI/AAAAAAAAC5A/uum0sNfJD0g/s640/santa1.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Oh look, it's being &lt;i&gt;ironically&lt;/i&gt; festive!&amp;nbsp; Maybe it should move to Capitol Hill and read the Stranger on its iPhone while wearing jeans that are way too small!&amp;nbsp; If you don't live in Seattle you have no idea what I'm talking about!&lt;br /&gt;&lt;br /&gt;Anyway, let me point out the nicer features:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Images&lt;/b&gt;&lt;br /&gt;I grabbed that Santa from a Secret Santa excel template that Microsoft hosts.&amp;nbsp; Their template sucks though because it doesn't shuffle the names for you, so don't bother looking for it.&amp;nbsp; I googled "free holiday clip art" to get those other two images.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Dynamic Named Ranges&lt;/b&gt;&lt;br /&gt;Dynamic named ranges are awesome.&amp;nbsp; I think I first read about them on the &lt;a href="http://chandoo.org/wp/" tooltip="linkalert-tip"&gt;PHD Blog&lt;/a&gt;.&amp;nbsp; Anyway, there are three in this worksheet, but they all look like this, which points to the gift givers column:&lt;br /&gt;&lt;br /&gt;=OFFSET('Secret Santa Name Picker'!$C$3,0,0,COUNTA('Secret Santa Name Picker'!E:E)-1,1)&lt;br /&gt;&lt;br /&gt;So it's just counting how many entries there are in all of column C, subtracting out 1 for the column title, and creating a range with that height starting at cell C3.&amp;nbsp; I guess I should briefly explain the offset function.&amp;nbsp; It returns a cell or range reference, and the arguments are as follows:&lt;br /&gt;&lt;br /&gt;=OFFSET(starting cell, cells moved left (negative for right), cells moved down (negative for up), range height, range width)&lt;br /&gt;&lt;br /&gt;So my formula starts at cell C3, doesn't offset because that is the column I want, and has a height equal to the entries in the column (less the title) and a width of one.&amp;nbsp; Now the name, Givers, will always point to all of the names in column C, no matter how many I enter.&amp;nbsp; Don't try to be clever and break it by leaving blank spaces in the middle of the list, and yes that &lt;i&gt;will&lt;/i&gt; break it.&amp;nbsp; The other ranges are Receivers (self explanatory) and Dummy (which refers to me for having to add a "helper" column because I don't know how to use data types in VBA).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Button&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;A button!&amp;nbsp; I really have no idea how this works.&amp;nbsp; I cannibalized two pieces of code, mashed them together, and ran through the debugger about a million times tweaking things until it finally worked.&amp;nbsp; The basic idea: I take the input range, Givers, and copy its entries to the Receivers range.&amp;nbsp; At the same time I populate the Dummy range with random numbers.&amp;nbsp; I then sort both Receivers and Dummy by the values in Dummy, effectively randomizing the order of the names.&amp;nbsp; Finally, I run back through both Givers and Receivers making sure none of the entries match (if your family allows people to draw their own name in Secret Santa, you're doing it wrong).&amp;nbsp; If the entries do match, it goes back through the array and switches it with the first value that won't cause either entry to match the Givers range.&lt;br /&gt;&lt;br /&gt;Here it is:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;i&gt;Private Sub CommandButton1_Click()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim xTemp As Double&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim yTemp As String&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim i As Long&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim j As Long&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim vArr As Range&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim l As Integer&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim moreDifferentArray As Range&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim returnArray As Range&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; l = Range("arraysize")&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set vArr = Range("Givers")&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set returnArray = Range("Receivers")&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set moreDifferentArray = Range("Dummy")&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'pass range values to&amp;nbsp; array&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'add randomness&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; For i = 1 To l&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; returnArray(i) = vArr(i)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; moreDifferentArray(i) = Rnd()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next i&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'sort I think. Forgot where this came from, sorry...&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; For j = 2 To l&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xTemp = moreDifferentArray(j)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; yTemp = returnArray(j)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For i = j - 1 To 1 Step -1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If (moreDifferentArray(i) &amp;lt;= xTemp) Then GoTo 10&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; moreDifferentArray(i + 1) = moreDifferentArray(i)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; returnArray(i + 1) = returnArray(i)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next i&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i = 0&lt;br /&gt;10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; moreDifferentArray(i + 1) = xTemp&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; returnArray(i + 1) = yTemp&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next j&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'check for dupes&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For i = 1 To l&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If vArr(i) = returnArray(i) Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; For j = 1 To l&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If vArr(j) &amp;lt;&amp;gt; returnArray(i) Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; yTemp = returnArray(i)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; returnArray(i) = returnArray(j)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; returnArray(j) = yTemp&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; j = l&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next j&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next i&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;End Sub&lt;/i&gt;&lt;br /&gt;&lt;/blockquote&gt;That's about all there is to it.&amp;nbsp; You can download the workbook &lt;a href="http://drop.io/davidatwork/asset/secret-santa-v3-xls"&gt;here&lt;/a&gt;.&amp;nbsp; Remember to enable macros or it won't work.&amp;nbsp; Happy holidays!&lt;br /&gt;&lt;br /&gt;-David&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4886916435744894482-5762380605877675461?l=davidmerlemontgomery.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidmerlemontgomery.blogspot.com/feeds/5762380605877675461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2009/12/secret-santa-worksheet.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/5762380605877675461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/5762380605877675461'/><link rel='alternate' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2009/12/secret-santa-worksheet.html' title='Secret Santa Worksheet'/><author><name>David</name><uri>http://www.blogger.com/profile/01310468206360138820</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Nck4gdGWlng/Sq0q6wvkERI/AAAAAAAACr0/yZNW_KWq5fE/S220/IMG_0316_2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Nck4gdGWlng/SyKrQTs0ySI/AAAAAAAAC5A/uum0sNfJD0g/s72-c/santa1.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4886916435744894482.post-5763358846415059592</id><published>2009-12-03T15:36:00.000-08:00</published><updated>2009-12-03T15:36:07.265-08:00</updated><title type='text'>I just now turned ClearType on after scorching my retinas for years</title><content type='html'>Still alive, just really busy.&amp;nbsp; Most insurance plans renew January first, so 'tis the season.&lt;br /&gt;&lt;br /&gt;Here is a quick tip that you probably already know about, but I'm an idiot and I just found out about it a week ago.&amp;nbsp; There is a setting in Windows XP called ClearType that makes your fonts render more smoothly.&amp;nbsp; Predictably, this is turned off by default.&lt;br /&gt;&lt;br /&gt;I didn't know I needed glasses until I started living 1/3 of my life inside of Excel.&amp;nbsp; It isn't easy on the eyes, so you have to take care of yourself.&amp;nbsp; This setting actually makes a huge difference.&amp;nbsp; It should be on by default in Windows 7, if you have Vista you've already gouged your eyes out so it doesn't matter, so here is how to turn it on in XP:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;1.&amp;nbsp; Go to Display in the Control Panel.&lt;br /&gt;2.&amp;nbsp; Select the Appearance tab, then Effects.&lt;br /&gt;3.&amp;nbsp; Check the box for "Use the following method to smooth edges of screen fonts", then select ClearType from the drop down list.&lt;br /&gt;4.&amp;nbsp; Hit okay, apply, etc.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Just remember, it won't make your pie charts look any better.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4886916435744894482-5763358846415059592?l=davidmerlemontgomery.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidmerlemontgomery.blogspot.com/feeds/5763358846415059592/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2009/12/i-just-now-turned-cleartype-on-after.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/5763358846415059592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/5763358846415059592'/><link rel='alternate' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2009/12/i-just-now-turned-cleartype-on-after.html' title='I just now turned ClearType on after scorching my retinas for years'/><author><name>David</name><uri>http://www.blogger.com/profile/01310468206360138820</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Nck4gdGWlng/Sq0q6wvkERI/AAAAAAAACr0/yZNW_KWq5fE/S220/IMG_0316_2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4886916435744894482.post-5365969753645685453</id><published>2009-11-10T13:02:00.000-08:00</published><updated>2009-12-11T18:03:15.596-08:00</updated><title type='text'>Parsing Names</title><content type='html'>I'm thankful for the coworkers who ask me to do odd-jobs in Excel.&amp;nbsp; If it wasn't for them, I'd never have anything to blog about.&lt;br /&gt;&lt;br /&gt;Today's post is about parsing text, and specifically about turning a full name into a first, middle, and last name.&amp;nbsp; Let's start with a list of names.&amp;nbsp; Oh look, an obscure 80s television reference!&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_Nck4gdGWlng/SvnGrwN3POI/AAAAAAAAC0k/4y3Ev9Dm9Q8/s1600-h/names1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_Nck4gdGWlng/SvnGrwN3POI/AAAAAAAAC0k/4y3Ev9Dm9Q8/s640/names1.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;So we want to change these into first, middle, and last names.&amp;nbsp; How hard is that?&amp;nbsp; Select the names, go to Data &amp;gt; Text to Columns, select space delimited, finish the wizard, and Bob's your uncle.&amp;nbsp; Is that a correct use of an apostrophe?&amp;nbsp; A contraction of Bob is?&amp;nbsp; I think so.&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Anyway, this doesn't work so well because some people have four names.&amp;nbsp; The census I was using in reality had a person with &lt;i&gt;five&lt;/i&gt; different words in their full name.&amp;nbsp; Obviously these people are trouble makers and deserve to have their benefits revoked, but let's be the bigger person and try to work with them.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_Nck4gdGWlng/SvnKMMYtudI/AAAAAAAAC0s/24YlJcVmsIk/s1600-h/names2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_Nck4gdGWlng/SvnKMMYtudI/AAAAAAAAC0s/24YlJcVmsIk/s640/names2.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;First off, a few things:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Some people have small words that are part of their last name (Van, De La, etc.).&amp;nbsp; Because people can also have short middle names, we can't just pull these out by checking the length.&amp;nbsp; We'd have to keep a list of popular last-name articles and hope nobody's middle name was Van.&amp;nbsp; But we don't want to do this because...&lt;/li&gt;&lt;li&gt;I don't know anything about the naming conventions of other countries/languages.&amp;nbsp; Would Chow Yun Fat consider Yun a middle name, or is it part of his last name?&amp;nbsp; I don't know!&amp;nbsp; So...&lt;/li&gt;&lt;li&gt;We're going to have to consider the first chunk of letters the first name and the last chunk of letters the last name, and just throw everything else into the middle name and let someone else sort it out.&lt;/li&gt;&lt;/ol&gt;Now that we've defined our task, the solution is relatively straight forward.&amp;nbsp; To grab the first name, we're going to use the LEFT formula to grab the text from the left side of the name and the FIND formula to find the first space, or where we want to stop.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_Nck4gdGWlng/SvnK7k1h3UI/AAAAAAAAC00/pcVf1p80CGk/s1600-h/names3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_Nck4gdGWlng/SvnK7k1h3UI/AAAAAAAAC00/pcVf1p80CGk/s640/names3.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;LEFT takes 2 arguments:&amp;nbsp; the word you want to chop and how many characters you want counting in from the left side of the word.&amp;nbsp; FIND is going to look for the string we specify, in this case a space (" "), and return the position of the first occurrence of that string in the text that we are searching.&amp;nbsp; Because we don't want to include the space, we'll subtract 1 from FIND's result.&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;The last name is not as easy.&amp;nbsp; I spent a good 2 minutes thinking about it, decided that there must be a function in Excel that reverses text, and went online to look for it.&amp;nbsp; No need to re-invent the wheel, there are probably only 5 people in the world that are actually doing new things in Excel and incidentally they all have very nice Excel blogs.&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Instead of just a reverse text function, I found a question about and answer to the &lt;a href="http://www.mrexcel.com/archive/General/30895.html" tooltip="linkalert-tip"&gt;exact same problem&lt;/a&gt; I was having.&amp;nbsp; As a bonus, the link does include the code for a user-defined function called REVERSETEXT that was apparently written by the infamous J. Walkenbach.&amp;nbsp; I think he is a professional banjo player or something.&amp;nbsp; I'm going to use the ugly solution though, as originally posted by Aladin Akyurek at that same link:&lt;br /&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;=RIGHT(D2,LEN(D2)-SEARCH("@",SUBSTITUTE(D2," ","@",LEN(D2)-LEN(SUBSTITUTE(D2," ",""))))) &lt;br /&gt;&lt;/div&gt;&lt;/blockquote&gt;What is this code doing?&amp;nbsp; Well the end of my lunch is fast approaching so some of this may be less than accurate, but here goes.&amp;nbsp; The first thing it's doing is counting the number of spaces in the string:&lt;br /&gt;&lt;blockquote&gt;LEN(D2)-LEN(SUBSTITUTE(D2," ",""))&lt;br /&gt;&lt;/blockquote&gt;By deleting the spaces (John Doe = JohnDoe) and seeing how much the length of the string (returned by LEN) changes, we can find the number of spaces in the name.&lt;br /&gt;&lt;br /&gt;We use this number for the second SUBSTITUTE function.&amp;nbsp; This function is substituting the last space in the name with an @ symbol.&amp;nbsp; The SUBSTITUTE function first takes the original string as an argument, then the text you want to change, what you want that text to change to, and, optionally, which instance of that old text you want to change.&amp;nbsp; So, for example, the formula SUBSTITUTE("Ba Ba","Ba","Da Bing",2) will return the string "Ba Da Bing", as it is only changing the second occurrence of "Ba".&amp;nbsp; We counted the number of spaces in the full name and are using that as the instance, so only the last space will become an @ symbol.&lt;br /&gt;&lt;br /&gt;After that, we're just using the SEARCH function to find the position of the @ symbol in the array.&amp;nbsp; We subtract that position from the length of the full name, which will give us the number of characters after the last space in the string.&amp;nbsp; We can then pass this number to the RIGHT function to count in that many characters from the right side of the string and pull those out.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_Nck4gdGWlng/SvnPVP9funI/AAAAAAAAC08/eTp876RQBfg/s1600-h/names4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_Nck4gdGWlng/SvnPVP9funI/AAAAAAAAC08/eTp876RQBfg/s640/names4.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The next part is easy.&amp;nbsp; For the middle name, we're just going to use the MID formula and subtract the lengths of the first name and last name, then TRIM any extra spaces.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_Nck4gdGWlng/SvnQNfPrQNI/AAAAAAAAC1E/hrK1ZUnhPVk/s1600-h/names5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_Nck4gdGWlng/SvnQNfPrQNI/AAAAAAAAC1E/hrK1ZUnhPVk/s640/names5.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The MID formula returns sections of text.&amp;nbsp; You pass it the text you want to cut, where you want to start cutting, and how many letters you want to take.&amp;nbsp; We're telling it to cut the full name, start at the character after the length of the first name, which will be the first space, and then telling it to take as many characters as the full name has less the characters we already pulled out for the first and last names.&amp;nbsp; Since this will include the spaces, we're also using the TRIM formula.&lt;br /&gt;&lt;br /&gt;The nice thing about this method is that it works fine for people with and without a middle name.&amp;nbsp; Where doesn't it work?&amp;nbsp; People with only one name.&amp;nbsp; People like Sting.&amp;nbsp; Or Bono.&amp;nbsp; Or Prince.&amp;nbsp; As you can see, people with only one name are generally pompous, self-important rock stars.&amp;nbsp; We don't shouldn't care whether or not they get correctly registered for their life insurance benefit or whatever else you might be using your census for.&amp;nbsp; If you really wanted to though, you can fix that by catching errors using the IF and ISERROR functions.&lt;br /&gt;&lt;br /&gt;-David&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4886916435744894482-5365969753645685453?l=davidmerlemontgomery.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidmerlemontgomery.blogspot.com/feeds/5365969753645685453/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2009/11/parsing-names.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/5365969753645685453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/5365969753645685453'/><link rel='alternate' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2009/11/parsing-names.html' title='Parsing Names'/><author><name>David</name><uri>http://www.blogger.com/profile/01310468206360138820</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Nck4gdGWlng/Sq0q6wvkERI/AAAAAAAACr0/yZNW_KWq5fE/S220/IMG_0316_2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Nck4gdGWlng/SvnGrwN3POI/AAAAAAAAC0k/4y3Ev9Dm9Q8/s72-c/names1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4886916435744894482.post-6566857977376503893</id><published>2009-11-04T18:26:00.000-08:00</published><updated>2009-12-11T18:06:32.390-08:00</updated><title type='text'>Add Scroll Bars to a Chart, Blog Stats</title><content type='html'>I got asked to do a random project at work looking at paid claims for a large claimant before and after a certain date, so I created a chart with a scroll bar that presents that data in a slightly more interesting way.&amp;nbsp; I'll get to that in a second, but first, how about some fun blog stats?&lt;br /&gt;&lt;br /&gt;Posts:&amp;nbsp; 12&lt;br /&gt;Page Impressions:&amp;nbsp; 288&lt;br /&gt;Ad Clicks:&amp;nbsp; 1&lt;br /&gt;Comments:&amp;nbsp; 1*&lt;br /&gt;Google Adsense Earnings:&amp;nbsp; $0.14&lt;br /&gt;Amazon Associate Program Earnings:&amp;nbsp; $0.00&lt;br /&gt;Incidents of Paranormal Activity:&amp;nbsp; 2 &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So I need to post a lot more, people are still reading my blog, my posts are so thorough that no one feels the need to comment, all of my readers are probably running AdBlock, and financially my blog is a runaway success.&amp;nbsp; Now when people ask me if writing an Excel blog is rewarding, I can answer, "Yes, soul-crushingly so."&lt;br /&gt;&lt;br /&gt;Enough fun, let's get down to business.&amp;nbsp; Here is the data set we're going to start with:&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_Nck4gdGWlng/SvIBz2AdSVI/AAAAAAAACxs/PNkMpJq87EM/s1600-h/scroll1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_Nck4gdGWlng/SvIBz2AdSVI/AAAAAAAACxs/PNkMpJq87EM/s640/scroll1.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;My task was to sum up all of the claims before and after a certain point, so the first thing I want is a column that shows claims paid to date, or cumulative claims.&amp;nbsp; In cell C2, type in the formula:&lt;br /&gt;&lt;blockquote&gt;=sum(b$2:b2)&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;This formula sums the values from B2 down to the row of the formula, so copying it down will give us cumulative claims.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_Nck4gdGWlng/SvIDHEVEmEI/AAAAAAAACx0/bsotMPH_Iys/s1600-h/slider2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_Nck4gdGWlng/SvIDHEVEmEI/AAAAAAAACx0/bsotMPH_Iys/s640/slider2.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;I'm also going to create a few cells for some markers and the actual scroll bar value.&amp;nbsp; Feel free to put these anywhere on the worksheet.&amp;nbsp; Seriously, go nuts.&amp;nbsp; I like putting everything in column Z so that it's harder for people to peer review my work (which is already a waste of their time because &lt;i&gt;I never make mistakes&lt;/i&gt;).&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_Nck4gdGWlng/SvIFBYHa76I/AAAAAAAACx8/MOOeFl_CqUw/s1600-h/scroll3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_Nck4gdGWlng/SvIFBYHa76I/AAAAAAAACx8/MOOeFl_CqUw/s640/scroll3.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The Scroll Bar Value will be the cell that the scroll bar object is linked to later, while the Month Markers are just so I can put data labels in the middle of the month but have my tick marks on the ends of the month.&lt;br /&gt;&lt;br /&gt;Add these three series to an XY-Chart as follows:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_Nck4gdGWlng/SvIGTamXUSI/AAAAAAAACyE/P8H4tPYRGPc/s1600-h/scroll4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_Nck4gdGWlng/SvIGTamXUSI/AAAAAAAACyE/P8H4tPYRGPc/s640/scroll4.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&amp;nbsp;&lt;a href="http://2.bp.blogspot.com/_Nck4gdGWlng/SvIGXBh17RI/AAAAAAAACyM/CnIqkV2ZOes/s1600-h/scroll5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_Nck4gdGWlng/SvIGXBh17RI/AAAAAAAACyM/CnIqkV2ZOes/s640/scroll5.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&amp;nbsp;&lt;a href="http://4.bp.blogspot.com/_Nck4gdGWlng/SvIH7am-6UI/AAAAAAAACyU/IUipXX5qDcE/s1600-h/scroll6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_Nck4gdGWlng/SvIH7am-6UI/AAAAAAAACyU/IUipXX5qDcE/s640/scroll6.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Because I chose funny values, the chart should be completely unreadable, but we're going to change the scale later so that doesn't matter too much.&amp;nbsp; Double click the data point at $1 billion (Scroll Bar Value) and add an error bar to it.&amp;nbsp; This should be a negative error bar only at -100%.&amp;nbsp; We don't need the point at all, we're just looking for a vertical line.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_Nck4gdGWlng/SvIIlqtwQ3I/AAAAAAAACyc/IBUoemeCDmA/s1600-h/scroll7.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_Nck4gdGWlng/SvIIlqtwQ3I/AAAAAAAACyc/IBUoemeCDmA/s640/scroll7.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;After that, double click on the error bar (the vertical line below your data point) and format it in a color that stands out.&amp;nbsp; I like red.&amp;nbsp; Also, take the 'T' off of the end of your marker.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_Nck4gdGWlng/SvIJHq8AxeI/AAAAAAAACyk/qOKu8Gi2XR8/s1600-h/scroll8.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_Nck4gdGWlng/SvIJHq8AxeI/AAAAAAAACyk/qOKu8Gi2XR8/s640/scroll8.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;(Just a note about my color palette:&amp;nbsp; I hate it.&amp;nbsp; I like most of it, but I &lt;i&gt;never &lt;/i&gt;use those purples.&amp;nbsp; I'm tempted to add more gray or maybe some beige and off-white colors for table backgrounds, but I haven't gotten around to it yet.)&lt;br /&gt;&lt;br /&gt;Now we can fix the scale of the chart.&amp;nbsp; It looks like our dates run from January - May of 2009.&amp;nbsp; Double click on your x-axis, make sure the number is formatted as a date, and then simply type in 1/1/2009 as the minimum and 5/31/2009 (there are 31 days in May, right?&amp;nbsp; I hate months...), with a major unit of 30.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_Nck4gdGWlng/SvIKvOPwjLI/AAAAAAAACys/Dwy5hnuy54k/s1600-h/scroll9.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_Nck4gdGWlng/SvIKvOPwjLI/AAAAAAAACys/Dwy5hnuy54k/s640/scroll9.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;This should give us a nicely formatted axis:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_Nck4gdGWlng/SvIK7gZOwFI/AAAAAAAACy0/g-9ISywC8SE/s1600-h/scroll10.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_Nck4gdGWlng/SvIK7gZOwFI/AAAAAAAACy0/g-9ISywC8SE/s640/scroll10.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Now double click on the x-axis again, go to patterns, and turn off the tick mark labels.&amp;nbsp; We're instead going to label the mid-points, which are those little grey triangles above.&amp;nbsp; To do this, you'll need an XY-Chart labeler, which I've previously discussed &lt;a href="http://davidmerlemontgomery.blogspot.com/2009/10/useless-metrics-and-scatter-plots.html" tooltip="linkalert-tip"&gt;here&lt;/a&gt;.&amp;nbsp; Go to the dates for your Month Marker series and format them as Custom &amp;gt; "mmm".&amp;nbsp; After that, right click on your chart, go to JWalk Chart Tools, and select the data labels tab.&amp;nbsp; From there you can link the Month Marker series to the cells we just reformatted like so:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_Nck4gdGWlng/SvIqh2z0a4I/AAAAAAAACy8/G9nYeL6faFI/s1600-h/scroll11.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_Nck4gdGWlng/SvIqh2z0a4I/AAAAAAAACy8/G9nYeL6faFI/s640/scroll11.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;After that, double click on your shiny new data labels, go to the alignment tab, and change the label position to "Below".&amp;nbsp; After that, double click on the actual data points, set the marker to "None", and the x-axis is done.&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://3.bp.blogspot.com/_Nck4gdGWlng/SvIriMHaksI/AAAAAAAACzE/hpXnswjdvVA/s1600-h/scroll12.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_Nck4gdGWlng/SvIriMHaksI/AAAAAAAACzE/hpXnswjdvVA/s640/scroll12.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now we just need to take care of that y-axis.&amp;nbsp; It looks like our claims top out at under $18,000, so let's set the maximum for our y-axis scale to $20,000 with major increments of $4,000.&amp;nbsp; After that, double click on your Cumulative Claims Series and add a line to it on the patterns tab.&amp;nbsp; Now our chart is looking pretty good.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_Nck4gdGWlng/SvIs8b2u4eI/AAAAAAAACzM/AXZTYJ5kSl4/s1600-h/scroll13.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_Nck4gdGWlng/SvIs8b2u4eI/AAAAAAAACzM/AXZTYJ5kSl4/s640/scroll13.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;Now let's create the scroll bar.&amp;nbsp; Go to the control toolbar (add it under the view menu if you don't have it), click on the Scroll Bar button, and drag out a horizontal scroll bar under your chart.&amp;nbsp; You may want to turn on snap-to-grid if you'd prefer more control over the size of the bar.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_Nck4gdGWlng/SvIuV0Q4bCI/AAAAAAAACzU/kmKY2cDU36U/s1600-h/scroll15.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_Nck4gdGWlng/SvIuV0Q4bCI/AAAAAAAACzU/kmKY2cDU36U/s640/scroll15.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&amp;nbsp;&lt;a href="http://1.bp.blogspot.com/_Nck4gdGWlng/SvIulBXI4CI/AAAAAAAACzc/welPZloMgQk/s1600-h/scroll16.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_Nck4gdGWlng/SvIulBXI4CI/AAAAAAAACzc/welPZloMgQk/s640/scroll16.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Ack, tool tips in my screenshots!&amp;nbsp; The next thing we're going to have to do is link the bar to a cell and give it a minimum and maximum.&amp;nbsp; For the min and max, we're going to want to use the VALUE function on the first date and last date in our series.&amp;nbsp; The properties of the scroll bar won't except the date format.&amp;nbsp; I just used MIN and MAX because I don't trust my data not to move around, but if the data isn't sorted your line is going to look like small intestines or some other, less disgusting thing that is squiggly.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_Nck4gdGWlng/SvIv1Qv3oZI/AAAAAAAACz0/uoSd77U8zVo/s1600-h/slider14.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_Nck4gdGWlng/SvIv1Qv3oZI/AAAAAAAACz0/uoSd77U8zVo/s640/slider14.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Now let's go into the scroll bar and set some values.&amp;nbsp; Right click on the scroll bar and select "Properties".&amp;nbsp; We have the numeric values for the beginning and end date, and we just want it to link to the same cell our Scroll Bar Value data series is linked to (Z2 for me).&amp;nbsp; Your properties should look something like this:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_Nck4gdGWlng/SvIxwhrkVwI/AAAAAAAACz8/fhVyffyNxH8/s1600-h/scroll17.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_Nck4gdGWlng/SvIxwhrkVwI/AAAAAAAACz8/fhVyffyNxH8/s640/scroll17.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;You may have to initialize the value of the linked cell to a value between the min and the max, mine was acting a little wonky.&amp;nbsp; If everything worked out, you should have a scroll bar that moves a line around your chart.&amp;nbsp; Remember to turn off design mode (on the control toolbar) to interact with the scroll bar instead of just throwing it around the sheet.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_Nck4gdGWlng/SvIzfshuwII/AAAAAAAAC0E/ylJRbFr8R_4/s1600-h/scroll18.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_Nck4gdGWlng/SvIzfshuwII/AAAAAAAAC0E/ylJRbFr8R_4/s640/scroll18.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;I threw some formulas under the scroll bar to give some additional data:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_Nck4gdGWlng/SvI0BfdrExI/AAAAAAAAC0U/qxafV3Ct8mA/s1600-h/scroll19.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_Nck4gdGWlng/SvI0BfdrExI/AAAAAAAAC0U/qxafV3Ct8mA/s640/scroll19.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The named range "scrollbarvalue" is pointing to cell Z2, the cell the scroll bar is linked to.&amp;nbsp; Dates are the dates in column A, and paidclaims are the claim amounts in column B (not the cumulative claims).&amp;nbsp; Cell C26 is the last value in the cumulative claims column, or the total paid claims for this individual over this period.&amp;nbsp; The SUMIF formula is simply adding up all of the paid claims for the dates that are strictly greater than the scroll bar value, N24 is the remaining claims, and column O is showing the percentage of total claims paid.&amp;nbsp; It looks like this in practice:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_Nck4gdGWlng/SvI1X3ywX_I/AAAAAAAAC0c/K3U4gYufmaI/s1600-h/scroll20.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_Nck4gdGWlng/SvI1X3ywX_I/AAAAAAAAC0c/K3U4gYufmaI/s640/scroll20.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;span style="font-family: inherit;"&gt;There you have it&lt;/span&gt;, a functional chart template that admittedly has few useful applications, but scroll bars will impress the people in your office that actually allow macros in Excel (actual email:&amp;nbsp; "&lt;span style="color: navy; font-family: Trebuchet MS; font-size: x-small;"&gt;&lt;span style="color: navy; font-family: 'Trebuchet MS'; font-size: 10pt;"&gt;Is the scroll  bar supposed to do something?&amp;nbsp; Mine just looks like a little  picture?!&lt;o:p&gt;"&amp;nbsp; &lt;span style="color: black; font-family: inherit;"&gt;Sigh...)&lt;/span&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: inherit;"&gt;.&amp;nbsp; &lt;/span&gt;I'll try to put the workbook up later, I don't have my drop.io password handy at work.&lt;br /&gt;&lt;br /&gt;Questions?&amp;nbsp; Comments?&amp;nbsp; Let me know in the, uh, comments.&lt;br /&gt;&lt;br /&gt;-David&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;* My lone comment is actually from Jon Peltier, so I consider this a win.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4886916435744894482-6566857977376503893?l=davidmerlemontgomery.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidmerlemontgomery.blogspot.com/feeds/6566857977376503893/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2009/11/add-scroll-bars-to-chart-blog-stats.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/6566857977376503893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/6566857977376503893'/><link rel='alternate' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2009/11/add-scroll-bars-to-chart-blog-stats.html' title='Add Scroll Bars to a Chart, Blog Stats'/><author><name>David</name><uri>http://www.blogger.com/profile/01310468206360138820</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Nck4gdGWlng/Sq0q6wvkERI/AAAAAAAACr0/yZNW_KWq5fE/S220/IMG_0316_2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Nck4gdGWlng/SvIBz2AdSVI/AAAAAAAACxs/PNkMpJq87EM/s72-c/scroll1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4886916435744894482.post-2737804828104868921</id><published>2009-10-29T12:59:00.000-07:00</published><updated>2009-11-05T09:11:57.453-08:00</updated><title type='text'>Adding Tiers to a Census</title><content type='html'>Sorry for the lack of updates folks, it's been a busy week.&amp;nbsp; Going forward, I'm going to try to do at least 2 posts every week so you actually have a reason to read my blog.&lt;br /&gt;&lt;br /&gt;When we left off last time, I was discussing a common problem with enrollment listings:&amp;nbsp; missing tiers.&amp;nbsp; You've likely seen these during open enrollment when you're selecting your benefits and looking at what you have to pay.&amp;nbsp; Most health plans are 4-tier:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Employee Only&lt;/li&gt;&lt;li&gt;Employee + Spouse&lt;/li&gt;&lt;li&gt;Employee + Children&lt;/li&gt;&lt;li&gt;Family&lt;/li&gt;&lt;/ul&gt;Our starting point is going to be a worst case scenario.&amp;nbsp; We've received a census with an employee ID number and the relationship to the employee, but nothing else.&amp;nbsp; Also, the members aren't already sorted with the employee in the top position for every family unit.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_Nck4gdGWlng/Sunfs36AUqI/AAAAAAAACw8/hoAQTC_nIj0/s1600-h/tier+1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_Nck4gdGWlng/Sunfs36AUqI/AAAAAAAACw8/hoAQTC_nIj0/s640/tier+1.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;The method I use for adding tiers to a census works by counting the spaces between employees and seeing what the dependent types in between are, but we need to put the employee at the top of these family units in order for that to work.&amp;nbsp; Let's throw it in a pivot table (select B2:C12 and hit Alt+D, P, and F).&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Drag the Employee ID field into the row box followed by the Relationship field.&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://4.bp.blogspot.com/_Nck4gdGWlng/SunhZyuR2wI/AAAAAAAACxE/bI6MbLaKPZY/s1600-h/tier2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_Nck4gdGWlng/SunhZyuR2wI/AAAAAAAACxE/bI6MbLaKPZY/s640/tier2.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Pull out the Total rows by right clicking on them on the left and selecting Hide.&amp;nbsp; Then right click on any of the Employee entries in the second column and select Order &amp;gt; Move to Beginning.&amp;nbsp; This will move the Employee field to the top for every Employee ID number.&amp;nbsp; This will be our new census.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_Nck4gdGWlng/Sun03QTPD6I/AAAAAAAACxk/5MNUXZIOyg4/s1600-h/tier6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_Nck4gdGWlng/Sun03QTPD6I/AAAAAAAACxk/5MNUXZIOyg4/s640/tier6.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Copy and paste these values to a convenient location and we can start manipulating them.&amp;nbsp; Let's start again from this point.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_Nck4gdGWlng/SunkLc3lx3I/AAAAAAAACxU/G6PH32dVUio/s1600-h/tier4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_Nck4gdGWlng/SunkLc3lx3I/AAAAAAAACxU/G6PH32dVUio/s640/tier4.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Add a tier column, preferably next to the relationship column.&amp;nbsp; Here is the formula we will be putting into the tier column:&lt;br /&gt;&lt;br /&gt;=IF(C2="Employee",&lt;br /&gt;IF(C3="Employee","EE Only",&lt;br /&gt;IF(MATCH("Spouse",C3:C12,0)&lt;match("employee",c3:c12,0),&gt;&lt;/match("employee",c3:c12,0),&gt;&lt;br /&gt;IF(C4="Employee","E+S","Fam"),"E+CH")),"")&lt;br /&gt;&lt;br /&gt;Pretend that is all on one line, Blogger is killing me with formatting issues...&lt;br /&gt;&lt;br /&gt;So this is a rather inelegant solution.&amp;nbsp; I came up with it when I first started working with Excel and, coming from a light programming background, I was in love with nested &lt;i&gt;If&lt;/i&gt; statements.&amp;nbsp; If I have some spare time, I might think of a much cleaner way of doing this, but my lunch is almost over so I'll just explain how my ugly formula works.&lt;br /&gt;&lt;br /&gt;First it's checking to see if it is in an Employee row.&amp;nbsp; For my industry it usually simplifies the census to show it this way as opposed to putting it next to every family member.&amp;nbsp; If it is an employee, it does everything else in the formula, if not, it leaves a blank "" space.&lt;br /&gt;&lt;br /&gt;The next step it checks is to see if the next row down contains an Employee.&amp;nbsp; If it does, and this assumes you've sorted the census correctly, that means the Employee on the current line has Employee Only coverage.&amp;nbsp; We call that EE Only in our jargon.&lt;br /&gt;&lt;br /&gt;If the next entry is not an employee, we go to a Match function.&amp;nbsp; Match returns the first position of a value in a range.&amp;nbsp; In this example, we're checking the next 10 cells to see if a Spouse is between this Employee and the next Employee down the line.&amp;nbsp; In practice, you'll want to look 20+ cells down because the Match formula throws an error if you're looking for something that doesn't fall into it's range.&amp;nbsp; We're using the Match function in case we received a census with the Employee in the first position but the dependents scrambled; in this example we already had to sort the members to put the Employee first so we might as well have put the Spouse second and Children last which would simplify the process somewhat.&lt;br /&gt;&lt;br /&gt;If there is no Spouse before the next Employee, we've eliminated the possibility of Employee + Spouse coverage and Family coverage, so this must be an Employee + Children.&lt;br /&gt;&lt;br /&gt;The next step is to see if this an Employee + Spouse.&amp;nbsp; We already know this unit contains a Spouse, and if C4 is another Employee then we know this dependent unit is only 2 people, so we can assume Employee + Spouse coverage.&amp;nbsp; Anything else that made it this far through the nested &lt;i&gt;If&lt;/i&gt;s would be a Family by default.&lt;br /&gt;&lt;br /&gt;This method does have some limitations.&amp;nbsp; If we copy the formula down, we'll get errors once we get to the end of the list because we're looking for the next Employee in line and there aren't any.&amp;nbsp; This isn't that big of a deal though, just jump down to the end of your census and manually enter the tier for the last dependent unit.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_Nck4gdGWlng/Sunq02JvACI/AAAAAAAACxc/s24RLM2lgq8/s1600-h/tier5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_Nck4gdGWlng/Sunq02JvACI/AAAAAAAACxc/s24RLM2lgq8/s640/tier5.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;This is definitely a quick and dirty solution; there are many ways to approach a problem like this and I highly doubt that the one I came up with when I knew very little about Excel is the most elegant one.&amp;nbsp; It still works though, so I haven't really taken the time to revisit it yet.&amp;nbsp; Maybe in a future post.&amp;nbsp; I'd also like the formulas to point to a table so it's easier to change the Employee, Spouse, and Child strings to match the census.&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;That's all for now.&amp;nbsp; It's almost Friday!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4886916435744894482-2737804828104868921?l=davidmerlemontgomery.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidmerlemontgomery.blogspot.com/feeds/2737804828104868921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2009/10/adding-tiers-to-census.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/2737804828104868921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/2737804828104868921'/><link rel='alternate' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2009/10/adding-tiers-to-census.html' title='Adding Tiers to a Census'/><author><name>David</name><uri>http://www.blogger.com/profile/01310468206360138820</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Nck4gdGWlng/Sq0q6wvkERI/AAAAAAAACr0/yZNW_KWq5fE/S220/IMG_0316_2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Nck4gdGWlng/Sunfs36AUqI/AAAAAAAACw8/hoAQTC_nIj0/s72-c/tier+1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4886916435744894482.post-1238145433259444853</id><published>2009-10-22T21:04:00.000-07:00</published><updated>2009-11-03T11:01:02.066-08:00</updated><title type='text'>3 Common Census Problems and How to Fix Them</title><content type='html'>I found some free time, so here is a post about census manipulation.&lt;br /&gt;&lt;br /&gt;In the insurance industry, you deal with censuses... er, censi... let's call them enrollment listings.&amp;nbsp; You deal with enrollment listings a great deal.&amp;nbsp; Insurance carriers need to know how old everyone is, their gender, enrollment tier, zip code, and benefit elections in order to properly underwrite the case.&amp;nbsp; I myself use them for setting COBRA rates, modeling plan design changes, and other mathematical sleight of hand.&lt;br /&gt;&lt;br /&gt;The problem is that when you work on self funded groups, they usually use an administrator that is a separate entity from the insurance carrier.&amp;nbsp; As far as the client is concerned, the administrator is only processing the claims.&amp;nbsp; Other features like response time, quality of reporting, case management notes, those are the consultant's problem and they are &lt;i&gt;always&lt;/i&gt; a problem.&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;When looking at a list of proposals from administrators, every client naturally chooses the cheapest option so every report that we deal with is the worst report ever from the most bare bones administrators that we'll tolerate working with.&amp;nbsp; For example, even if I've asked for an enrollment listing 20 times I still have to specify every individual field I want and it's still wrong and no two listings ever look the same.&amp;nbsp; I would love to just pass this problem onto the carriers when we don't need the census ourselves, but 12 out of 10 times (most proposal requests go to a shared email address like proposals@evilcorporation.com, so I hear about every problem way more than a fair universe would allow) they just send the census back to us with an email much like the following:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;i&gt;Hi David,&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;I can't use this census.&amp;nbsp; Can you fix it?&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Thanks!!!!!&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;-Jeffrey Out&lt;/i&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;There are usually several emails after this where I force Jeffrey to tell me what he can't use and how he needs it fixed, but you get the idea.&amp;nbsp; Just remind yourself how much you're getting paid to deal with these kinds of people and pour a shot of whiskey into your mocha; violence isn't the answer.&lt;br /&gt;&lt;br /&gt;The fixing is what actually ties this post into Excel.&amp;nbsp; Here are the top 3 enrollment listing problems I come across:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Valus for some fields only appear once because the census was created in a pivot table and they need it on every line.&lt;/li&gt;&lt;li&gt;There is some problem with the date/age format.&lt;/li&gt;&lt;li&gt;There are no tiers.&lt;/li&gt;&lt;/ul&gt;The first one is a pretty easy problem to fix.&amp;nbsp; Imagine this:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_Nck4gdGWlng/SuEYQ3SFJ_I/AAAAAAAACvE/Vz0Y7FGvOk0/s1600-h/cens1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_Nck4gdGWlng/SuEYQ3SFJ_I/AAAAAAAACvE/Vz0Y7FGvOk0/s640/cens1.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The problem is the "Plan" field.&amp;nbsp; You need the value for the plan to show up on the line for every member on that plan, not just the top one.&amp;nbsp; Now imagine there are 18 different plans for 870 different members so you can't just fill the values down.&amp;nbsp; What is one to do?&lt;br /&gt;&lt;br /&gt;Now there may be in fact a better way to do this, and if there is I would love to know it, but this is how I taught myself to solve this problem.&amp;nbsp; In the first blank field, set it equal to the cell directly above it that has the value, in this case B3.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_Nck4gdGWlng/SuEYS5dMQdI/AAAAAAAACvM/Z4QO1k4Vk24/s1600-h/cens2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_Nck4gdGWlng/SuEYS5dMQdI/AAAAAAAACvM/Z4QO1k4Vk24/s640/cens2.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&amp;nbsp;After doing this, copy the formula.&amp;nbsp; Then select the entire range of cells that we need to fill in the blanks for, and in the menu select Edit &amp;gt; Go To, then click the Special button.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_Nck4gdGWlng/SuEYUKDR7uI/AAAAAAAACvU/_GexfgkxDQM/s1600-h/cens3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_Nck4gdGWlng/SuEYUKDR7uI/AAAAAAAACvU/_GexfgkxDQM/s640/cens3.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;From the Special window, select the option button for Blanks and hit okay.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_Nck4gdGWlng/SuEYVoBpWuI/AAAAAAAACvc/8yWZ85zVmXw/s1600-h/cens4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_Nck4gdGWlng/SuEYVoBpWuI/AAAAAAAACvc/8yWZ85zVmXw/s640/cens4.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;This will select only the blank cells in the area you had previously selected.&amp;nbsp; Now, just paste in the formula and all of the cells will equal the proceeding cell, filling your Plan values down for every appropriate member.&amp;nbsp; Now simply click the letter B above to select the whole column, hit CTRL+C to copy it, and then hit ALT+E, S, V to paste the column back in as values so it won't get scrambled during sorting.&amp;nbsp; If you don't know all of the keyboard shortcuts for every paste special option, you should learn them.&amp;nbsp; It will save you a million headaches.&amp;nbsp; If I could only recommend 3 things that everyone should know in Excel, it would probably be Pivot Tables, Paste Special, and V-Lookups.&lt;br /&gt;&lt;br /&gt;So, that is problem one solved.&amp;nbsp; The second problem can be a little more tricky at times.&amp;nbsp; Imagine, if you dare, the following:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_Nck4gdGWlng/SuEYYC25zTI/AAAAAAAACvk/Ng4PrOyTcXs/s1600-h/cens5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_Nck4gdGWlng/SuEYYC25zTI/AAAAAAAACvk/Ng4PrOyTcXs/s640/cens5.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Here we have an administrator using a Tandy or Amiga for their primary reporting system, the output of which they've twisted into a cruel approximation of a usable census.&amp;nbsp; Problems?&amp;nbsp; Let's start with the zip code:&amp;nbsp; people have 9, 8, 5, and 4 digit zip codes.&amp;nbsp; Apparently somebody imported them as text and the leading zeros were cut off.&amp;nbsp; This happens a lot, and the carriers seem to have no way of fixing it themselves.&amp;nbsp; Actually they probably decided it was cheaper to have me do it since they don't have to pay me.&lt;br /&gt;&lt;br /&gt;Technically, there shouldn't ever be an 8 digit zip code because the dash would have caused it to be treated as text and the leading zero would have survived, but I'm trying to imagine a worst case scenario.&lt;br /&gt;&lt;br /&gt;How do we fix this?&amp;nbsp; Well you only need the last 4 digits of a zip code if you're delivering mail (right?&amp;nbsp; I don't know...), so let's chop those off of the end.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_Nck4gdGWlng/SuEeyajdfCI/AAAAAAAACv8/H19SZI7m3HQ/s1600-h/cens8.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_Nck4gdGWlng/SuEeyajdfCI/AAAAAAAACv8/H19SZI7m3HQ/s640/cens8.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;First we'll use the SUBSTITUTE function to replace the dash with some white space.&amp;nbsp; We can trim this later.&amp;nbsp; Next we'll use the LEFT function to grab the first five characters starting from the left.&amp;nbsp; The nice thing about this is that it can handle even the string with less than 5 characters without throwing an error.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_Nck4gdGWlng/SuEfrh27FRI/AAAAAAAACwE/br1zZKr68cY/s1600-h/cens9.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_Nck4gdGWlng/SuEfrh27FRI/AAAAAAAACwE/br1zZKr68cY/s640/cens9.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;As I said, we also need to TRIM this to remove the white space for any 8 digit zip codes.&amp;nbsp; Now we can put back in those proceeding zeros.&amp;nbsp; For this we'll use the TEXT formula with the text set to "00000".&amp;nbsp; If there are 5 digits, Excel leaves them alone, but if there are 4, Excel places them as the last 4 and the first digit will be a zero, just what we're looking for.&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://2.bp.blogspot.com/_Nck4gdGWlng/SuEg9zy70AI/AAAAAAAACwM/awbfXZY3-P0/s1600-h/cens10.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_Nck4gdGWlng/SuEg9zy70AI/AAAAAAAACwM/awbfXZY3-P0/s640/cens10.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;The zip codes should now be usable, so we can just copy that column and paste it in as values so that they don't somehow get destroyed by the end user.&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Now let's look at these dates:&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://2.bp.blogspot.com/_Nck4gdGWlng/SuEig6Y_W9I/AAAAAAAACwU/SCpj-CfAjNw/s1600-h/cens11.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_Nck4gdGWlng/SuEig6Y_W9I/AAAAAAAACwU/SCpj-CfAjNw/s640/cens11.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Note that these dates have changed from previous pictures.&amp;nbsp; Suffice to say that the conditions under which I produce these blog posts are not ideal, specifically I do not own a copy of Excel and must use a remote connection to finish the ideas I start at lunch.&amp;nbsp; I know, I know, terrible...&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Back to the problem at hand, not only are these dates text strings mixing letters and numbers, but the day field doesn't have a leading zero for the first 9 days of the month!&amp;nbsp; This could get painful.&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Instead of creating a bunch of ugly if formulas, I'm just going to create a few new columns temporarily.&amp;nbsp; The first will grab the month using LEFT:&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://4.bp.blogspot.com/_Nck4gdGWlng/SuEklmE-sHI/AAAAAAAACwc/kRPmslHlihI/s1600-h/cens12.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_Nck4gdGWlng/SuEklmE-sHI/AAAAAAAACwc/kRPmslHlihI/s640/cens12.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;To get the day and year with a proceeding zero for the date, we're going to use SUBSTITUTE to pull out the month and then format it as TEXT using "000000":&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&amp;nbsp;&lt;a href="http://1.bp.blogspot.com/_Nck4gdGWlng/SuEmF3vSnfI/AAAAAAAACwk/N42dCUC1N3U/s1600-h/cens14.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;" tooltip="linkalert-tip"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_Nck4gdGWlng/SuEmF3vSnfI/AAAAAAAACwk/N42dCUC1N3U/s640/cens14.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Our next task is to turn that 3-letter month into something usable.&amp;nbsp; I'm going to replace it with the number of the month using a V-Lookup because our final destination, the date formula, can't use the text.&amp;nbsp; In some empty space, type the following:&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://3.bp.blogspot.com/_Nck4gdGWlng/SuEnYpSBFDI/AAAAAAAACws/Zpf2usAHErw/s1600-h/cens15.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_Nck4gdGWlng/SuEnYpSBFDI/AAAAAAAACws/Zpf2usAHErw/s320/cens15.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Select those 4 cells and hover your pointer over the lower-right corner.&amp;nbsp; That plus symbol is what I call the pattern copier.&amp;nbsp; I call it that because that's what it does and I don't actually know the real name.&amp;nbsp; Anyway, once your cursor turns into the big &lt;b&gt;+&lt;/b&gt; symbol,&amp;nbsp; click and drag down until you get to December.&amp;nbsp; This is your v-lookup table.&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;We're basically done now.&amp;nbsp; The last step is to use the DATE formula to create a usable D.O.B.&amp;nbsp; DATE accepts numbers as the arguments for year, month, and day, returning a date.&amp;nbsp; The year and day we can get simply using RIGHT and LEFT, while we'll use a vlookup for our month.&amp;nbsp; Remember to hit F4 to lock the range for your v-lookup.&amp;nbsp; I still forget to do that on an almost daily basis.&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;It should look like the following:&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://1.bp.blogspot.com/_Nck4gdGWlng/SuEpTgz_NUI/AAAAAAAACw0/X2I04FLB4Rw/s1600-h/cens16.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_Nck4gdGWlng/SuEpTgz_NUI/AAAAAAAACw0/X2I04FLB4Rw/s640/cens16.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;And there you have it.&amp;nbsp; As a quick bonus, my personal method of calculating a person's current age based on their date of birth is:&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;=year(now()-dateofbirth)-1900&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Just make sure you format it as a number; Excel will format it by default as a date and it will be more useless than my Google ads.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;That leaves the third problem: no tiers.&amp;nbsp; This post is getting long though and I still want to watch &lt;a href="http://www.amazon.com/gp/product/B0026LQM2Q?ie=UTF8&amp;amp;tag=dawo-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=B0026LQM2Q"&gt;The Unborn&lt;/a&gt;&lt;img alt="" border="0" class=" kxflcuffmjdqwjcttgot kxflcuffmjdqwjcttgot hiovsrulvaxdronnapji hiovsrulvaxdronnapji" height="1" src="http://www.assoc-amazon.com/e/ir?t=dawo-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=B0026LQM2Q" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt; tonight, so that problem will have to wait for another day.  It shouldn't take long though, so I may have time to put that up this weekend and even proof read this post...&lt;br /&gt;&lt;br /&gt;-David&lt;br /&gt;&lt;script src="http://www.assoc-amazon.com/s/link-enhancer?tag=dawo-20&amp;amp;o=1" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;noscript&gt;&amp;amp;amp;amp;lt;br /&amp;amp;amp;amp;gt; &amp;amp;amp;amp;lt;img src="http://www.assoc-amazon.com/s/noscript?tag=dawo-20" alt="" /&amp;amp;amp;amp;gt;&amp;amp;amp;amp;lt;br /&amp;amp;amp;amp;gt; &lt;/noscript&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4886916435744894482-1238145433259444853?l=davidmerlemontgomery.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidmerlemontgomery.blogspot.com/feeds/1238145433259444853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2009/10/3-common-census-problems-and-how-to-fix.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/1238145433259444853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/1238145433259444853'/><link rel='alternate' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2009/10/3-common-census-problems-and-how-to-fix.html' title='3 Common Census Problems and How to Fix Them'/><author><name>David</name><uri>http://www.blogger.com/profile/01310468206360138820</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Nck4gdGWlng/Sq0q6wvkERI/AAAAAAAACr0/yZNW_KWq5fE/S220/IMG_0316_2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_Nck4gdGWlng/SuEYQ3SFJ_I/AAAAAAAACvE/Vz0Y7FGvOk0/s72-c/cens1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4886916435744894482.post-2452911901943503411</id><published>2009-10-20T07:37:00.000-07:00</published><updated>2009-10-23T07:53:37.189-07:00</updated><title type='text'>Book Review Isn't Happening</title><content type='html'>Well it turns out the 4-Hour Work Week is more get rich quick than productivity.&amp;nbsp; Also, I had to return it to the library yesterday and I was only half way through, so that review probably won't happen.&amp;nbsp; The book did have some interesting ideas though, and I really like the idea of outsourcing all of my email to an assistant in India who can tell everyone, "No, I don't have time to meet with you.&amp;nbsp; No, I can't tell you how well your proposal is positioned.&amp;nbsp; No, I won't price an HSA plan you have no intention of implementing."&lt;br /&gt;&lt;br /&gt;I'm really hammered this week at work, so the posting might be a bit light.&amp;nbsp; I'll try to do something at lunch today if I get a chance.&amp;nbsp; Blogging is much harder than I anticipated, but then again I've spent over an hour drafting a 3 sentence email, so maybe I need to stop obsessing over my writing and just get it out there.&lt;br /&gt;&lt;br /&gt;Hopefully you're having a better week than me.&amp;nbsp; Oh, and the comments are now working, so if you have an Excel question please fire away. &lt;br /&gt;&lt;br /&gt;-David&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4886916435744894482-2452911901943503411?l=davidmerlemontgomery.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidmerlemontgomery.blogspot.com/feeds/2452911901943503411/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2009/10/book-review-isnt-happening.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/2452911901943503411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/2452911901943503411'/><link rel='alternate' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2009/10/book-review-isnt-happening.html' title='Book Review Isn&apos;t Happening'/><author><name>David</name><uri>http://www.blogger.com/profile/01310468206360138820</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Nck4gdGWlng/Sq0q6wvkERI/AAAAAAAACr0/yZNW_KWq5fE/S220/IMG_0316_2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4886916435744894482.post-6708866972038353245</id><published>2009-10-15T19:00:00.000-07:00</published><updated>2009-11-05T09:16:30.164-08:00</updated><title type='text'>State Postal Code Function</title><content type='html'>Here is the function I talked about in the previous post.&amp;nbsp; I don't really know anything about VBA, so I'm sure this code has all kinds of issues.&amp;nbsp; For instance, I couldn't find a way to initialize values in a static array using a comma separated list and instead had to initialize each spot in the array on a separate line.&amp;nbsp; I'm pretty sure you could do that with Java, but it's been a while.&lt;br /&gt;&lt;br /&gt;The code after the break:&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Public Function stateab(State As String)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;Dim StateName(1 To 59) As String&lt;br /&gt;Dim StateCode(1 To 59) As String&lt;br /&gt;&lt;br /&gt;StateName(1) = "Alabama"&lt;br /&gt;StateName(2) = "Alaska"&lt;br /&gt;StateName(3) = "American Samoa"&lt;br /&gt;StateName(4) = "Arizona"&lt;br /&gt;StateName(5) = "Arkansas"&lt;br /&gt;StateName(6) = "California"&lt;br /&gt;StateName(7) = "Colorado"&lt;br /&gt;StateName(8) = "Connecticut"&lt;br /&gt;StateName(9) = "Delaware"&lt;br /&gt;StateName(10) = "Dist. of Columbia"&lt;br /&gt;StateName(11) = "Florida"&lt;br /&gt;StateName(12) = "Georgia"&lt;br /&gt;StateName(13) = "Guam"&lt;br /&gt;StateName(14) = "Hawaii"&lt;br /&gt;StateName(15) = "Idaho"&lt;br /&gt;StateName(16) = "Illinois"&lt;br /&gt;StateName(17) = "Indiana"&lt;br /&gt;StateName(18) = "Iowa"&lt;br /&gt;StateName(19) = "Kansas"&lt;br /&gt;StateName(20) = "Kentucky"&lt;br /&gt;StateName(21) = "Louisiana"&lt;br /&gt;StateName(22) = "Maine"&lt;br /&gt;StateName(23) = "Maryland"&lt;br /&gt;StateName(24) = "Marshall Islands"&lt;br /&gt;StateName(25) = "Massachusetts"&lt;br /&gt;StateName(26) = "Michigan"&lt;br /&gt;StateName(27) = "Micronesia"&lt;br /&gt;StateName(28) = "Minnesota"&lt;br /&gt;StateName(29) = "Mississippi"&lt;br /&gt;StateName(30) = "Missouri"&lt;br /&gt;StateName(31) = "Montana"&lt;br /&gt;StateName(32) = "Nebraska"&lt;br /&gt;StateName(33) = "Nevada"&lt;br /&gt;StateName(34) = "New Hampshire"&lt;br /&gt;StateName(35) = "New Jersey"&lt;br /&gt;StateName(36) = "New Mexico"&lt;br /&gt;StateName(37) = "New York"&lt;br /&gt;StateName(38) = "North Carolina"&lt;br /&gt;StateName(39) = "North Dakota"&lt;br /&gt;StateName(40) = "Northern Marianas"&lt;br /&gt;StateName(41) = "Ohio"&lt;br /&gt;StateName(42) = "Oklahoma"&lt;br /&gt;StateName(43) = "Oregon"&lt;br /&gt;StateName(44) = "Palau"&lt;br /&gt;StateName(45) = "Pennsylvania"&lt;br /&gt;StateName(46) = "Puerto Rico"&lt;br /&gt;StateName(47) = "Rhode Island"&lt;br /&gt;StateName(48) = "South Carolina"&lt;br /&gt;StateName(49) = "South Dakota"&lt;br /&gt;StateName(50) = "Tennessee"&lt;br /&gt;StateName(51) = "Texas"&lt;br /&gt;StateName(52) = "Utah"&lt;br /&gt;StateName(53) = "Vermont"&lt;br /&gt;StateName(54) = "Virginia"&lt;br /&gt;StateName(55) = "Virgin Islands"&lt;br /&gt;StateName(56) = "Washington"&lt;br /&gt;StateName(57) = "West Virginia"&lt;br /&gt;StateName(58) = "Wisconsin"&lt;br /&gt;StateName(59) = "Wyoming"&lt;br /&gt;StateCode(1) = "AL"&lt;br /&gt;StateCode(2) = "AK"&lt;br /&gt;StateCode(3) = "AS"&lt;br /&gt;StateCode(4) = "AZ"&lt;br /&gt;StateCode(5) = "AR"&lt;br /&gt;StateCode(6) = "CA"&lt;br /&gt;StateCode(7) = "CO"&lt;br /&gt;StateCode(8) = "CT"&lt;br /&gt;StateCode(9) = "DE"&lt;br /&gt;StateCode(10) = "DC"&lt;br /&gt;StateCode(11) = "FL"&lt;br /&gt;StateCode(12) = "GA"&lt;br /&gt;StateCode(13) = "GU"&lt;br /&gt;StateCode(14) = "HI"&lt;br /&gt;StateCode(15) = "ID"&lt;br /&gt;StateCode(16) = "IL"&lt;br /&gt;StateCode(17) = "IN"&lt;br /&gt;StateCode(18) = "IA"&lt;br /&gt;StateCode(19) = "KS"&lt;br /&gt;StateCode(20) = "KY"&lt;br /&gt;StateCode(21) = "LA"&lt;br /&gt;StateCode(22) = "ME"&lt;br /&gt;StateCode(23) = "MD"&lt;br /&gt;StateCode(24) = "MH"&lt;br /&gt;StateCode(25) = "MA"&lt;br /&gt;StateCode(26) = "MI"&lt;br /&gt;StateCode(27) = "FM"&lt;br /&gt;StateCode(28) = "MN"&lt;br /&gt;StateCode(29) = "MS"&lt;br /&gt;StateCode(30) = "MO"&lt;br /&gt;StateCode(31) = "MT"&lt;br /&gt;StateCode(32) = "NE"&lt;br /&gt;StateCode(33) = "NV"&lt;br /&gt;StateCode(34) = "NH"&lt;br /&gt;StateCode(35) = "NJ"&lt;br /&gt;StateCode(36) = "NM"&lt;br /&gt;StateCode(37) = "NY"&lt;br /&gt;StateCode(38) = "NC"&lt;br /&gt;StateCode(39) = "ND"&lt;br /&gt;StateCode(40) = "MP"&lt;br /&gt;StateCode(41) = "OH"&lt;br /&gt;StateCode(42) = "OK"&lt;br /&gt;StateCode(43) = "OR"&lt;br /&gt;StateCode(44) = "PW"&lt;br /&gt;StateCode(45) = "PA"&lt;br /&gt;StateCode(46) = "PR"&lt;br /&gt;StateCode(47) = "RI"&lt;br /&gt;StateCode(48) = "SC"&lt;br /&gt;StateCode(49) = "SD"&lt;br /&gt;StateCode(50) = "TN"&lt;br /&gt;StateCode(51) = "TX"&lt;br /&gt;StateCode(52) = "UT"&lt;br /&gt;StateCode(53) = "VT"&lt;br /&gt;StateCode(54) = "VA"&lt;br /&gt;StateCode(55) = "VI"&lt;br /&gt;StateCode(56) = "WA"&lt;br /&gt;StateCode(57) = "WV"&lt;br /&gt;StateCode(58) = "WI"&lt;br /&gt;StateCode(59) = "WY"&lt;br /&gt;&lt;br /&gt;If Len(State) = 2 Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; For i = 1 To 59&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If StateCode(i) = State Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stateab = StateName(i)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit For&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next i&lt;br /&gt;Else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; For i = 1 To 59&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If StateName(i) = State Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; stateab = StateCode(i)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit For&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Next i&lt;br /&gt;End If&lt;br /&gt;&lt;br /&gt;End Function&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;The important thing about this is that it's declared as a Function instead of Sub.&amp;nbsp; It is also set up to accept a String as an argument.&lt;br /&gt;&lt;br /&gt;The way the function works is simple.&amp;nbsp; It checks the length of the String you passed it to see if it's possibly a postal code or a state name.&amp;nbsp; If it's a state name, it counts through the StateName array until it finds a match and returns the value from the equivalent position in the StateCode array.&amp;nbsp; If passed a postal abbreviation, it returns the full state name in a similar manner.&amp;nbsp; It doesn't catch any errors or do anything fancy, but it seems to work okay.&amp;nbsp; If I was going to change it, I'd probably have it trim the String that is passed to remove any extra white space.&amp;nbsp; Also, I might want to add some variations of Washington, D.C.&lt;br /&gt;&lt;br /&gt;It's very important to give your function a good, strong name.&amp;nbsp; I named this function stateab, after St. Ateab, the patron saint of the post office.&lt;br /&gt;&lt;br /&gt;If you've never created a function in Excel--as opposed to a macro--here is a quick tutorial.&lt;br /&gt;&lt;br /&gt;When you first save your function and then try to call it in your workbook with &lt;i&gt;=stateab(A1)&lt;/i&gt;, you're going to get a Name? error.&amp;nbsp; The problem with functions in Excel is that they only load correctly if you load them as an add in; otherwise, you have to specify a path to the sheet that houses the function, add it as a reference, and it still probably won't work.&lt;br /&gt;&lt;br /&gt;Comparatively, creating an add in is dead simple.&amp;nbsp; You want to create a separate workbook for your function called "YourNameFunctions" or something, but definitely don't put it in your personal.xls.&amp;nbsp; Personal should be for macros, this new workbook will be for functions.&amp;nbsp; You only need to save this function in the workbook using the visual basic editor, the rest of the workbook should be blank.&lt;br /&gt;&lt;br /&gt;Once that is done, go to file and select "Save As".&amp;nbsp; From the huge list of extensions, select ".xla".&amp;nbsp; This is for Excel Add In.&amp;nbsp; You'll want to save this file in your default Add-In directory for Excel.&amp;nbsp; To find this, go to Tools &amp;gt; Add-Ins &amp;gt; Browse.&amp;nbsp; The directory you start in will be the default directory, and you should put your file there.&amp;nbsp; Alternately, you can use this browse button to find your file anywhere on your computer.&lt;br /&gt;&lt;br /&gt;Once the file is saved, you should restart Excel (I think...).&amp;nbsp; After that, when you go to Tools &amp;gt; Add-Ins, the file you just saved should show up on that list.&amp;nbsp; Check the box next to it, and you're set.&amp;nbsp; Test it out; the function should work fine without Name? errors or any other shenanigans.&amp;nbsp; Like your other add ins, your function workbook should now load every time you start Excel.&lt;br /&gt;&lt;br /&gt;Upcoming posts will cover basic census manipulation and a possible review of a productivity book: &lt;a href="http://www.amazon.com/gp/product/0786168641?ie=UTF8&amp;amp;tag=dawo-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0786168641"&gt;The 4-Hour Work Week&lt;/a&gt;&lt;img alt="" border="0" class=" wbdxfezqmlnalnnhpaxr wbdxfezqmlnalnnhpaxr kxflcuffmjdqwjcttgot kxflcuffmjdqwjcttgot uanlvefbippwgforggbm uanlvefbippwgforggbm" height="1" src="http://www.assoc-amazon.com/e/ir?t=dawo-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=0786168641" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt;.&lt;br /&gt;&lt;br /&gt;-David&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4886916435744894482-6708866972038353245?l=davidmerlemontgomery.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidmerlemontgomery.blogspot.com/feeds/6708866972038353245/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2009/10/state-postal-code-function.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/6708866972038353245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/6708866972038353245'/><link rel='alternate' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2009/10/state-postal-code-function.html' title='State Postal Code Function'/><author><name>David</name><uri>http://www.blogger.com/profile/01310468206360138820</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Nck4gdGWlng/Sq0q6wvkERI/AAAAAAAACr0/yZNW_KWq5fE/S220/IMG_0316_2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4886916435744894482.post-7367821125327643977</id><published>2009-10-11T20:27:00.000-07:00</published><updated>2009-10-15T19:03:50.303-07:00</updated><title type='text'>Useless Metrics and Scatter Plots</title><content type='html'>I was reading &lt;a href="http://lifehacker.com/"&gt;Lifehacker&lt;/a&gt; Friday during lunch and saw a story about &lt;a href="http://www.datamasher.org/"&gt;DataMasher.org&lt;/a&gt;.&amp;nbsp; DataMasher seems like a good idea: simplify data from various government reports, split it up by state, let users specify a relationship (i.e. alcohol consumption / average temperature), and drop the results onto a choropleth map.&amp;nbsp; I actually like the site, the choropleth maps are very nicely done and there are some fun data sets that I might normally be too lazy to dig up.&amp;nbsp; I'm also a big fan of things that are free.&lt;br /&gt;&lt;br /&gt;The problem with the site is that it allows you to save these "mash-ups" and you can see just how poorly most people understand statistical measures.&amp;nbsp; Apparently after miles-per-gallon swept the Statistical Measurement Awards back in 1920, people decided that the best way to find the statistical relationship between any two variables is to divide one by the other.&amp;nbsp; Always.&amp;nbsp; The result is a bunch of super informative "mash-ups" like, oh,&amp;nbsp; # of Deaths Due to Motor Vehicle Accidents per 100k divided by Alcohol Consumption/ Binge Drinkers.&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Motor accidents divided by binge drinkers displayed by state.&amp;nbsp; Hmm.&amp;nbsp; What is this supposed to tell me?&amp;nbsp; That drunk drivers in Tennessee are that much more effective killing machines than the ones here in Washington?&amp;nbsp; That people in Utah drink less?&amp;nbsp; No, it can't tell you anything, and every single mash up on the site is like this!&amp;nbsp; People chose two variables that are strongly correlated, divided one by the other, and created a completely useless metric.&lt;br /&gt;&lt;br /&gt;It would be like creating a map that shows number of human eyeballs per state divided by number of humans per state.&amp;nbsp; In a perfect world, states would start with a value of 2 in the very center of the country but approach 1 the closer they got to the ocean due to the increasing number of pirates.&amp;nbsp; In reality though, every state will have a value of almost exactly 2 and my map will be an uninformative, one-color piece of suck.&lt;br /&gt;&lt;br /&gt;There are extremely few useful charts in the world, and almost all of them are a minor variation on bar/column charts, line charts, and scatter plots.&amp;nbsp; This isn't a rule or anything, but it's a good starting point:&amp;nbsp; when comparing between different categories use bar/column charts, when comparing over time use line charts, and when comparing two variables use a scatter plot.&lt;br /&gt;&lt;br /&gt;Scatterplots are perfect for almost all of the data sets people combined on DataMasher.org.&amp;nbsp; The only trouble is that 50 states is a lot of points and you can't label XY points in excel so you're out of luck if you want people to know which states are which.&amp;nbsp; The solution?&lt;br /&gt;&lt;br /&gt;By far my favorite, favorite, favorite add on for Excel is, well, &lt;a href="http://sparklines-excel.blogspot.com/"&gt;Sparklines&lt;/a&gt;, but a close second would be &lt;a href="http://spreadsheetpage.com/index.php/file/j_walk_chart_tools_add_in/"&gt;John Walkenbach's Chart Tools&lt;/a&gt; or, alternately, the &lt;a href="http://www.appspro.com/Utilities/ChartLabeler.htm"&gt;XY Chart Labeler&lt;/a&gt; add in.&amp;nbsp; Labeling points in an XY chart is awesome.&amp;nbsp; If you haven't tried it, you don't know what you're missing.&amp;nbsp; You can use it to label points, create a fake scale on an axis... well, I'm sure there are a lot of other great things, but those are the only two I can think of right now.&lt;br /&gt;&lt;br /&gt;The great thing about using this for states is that you can reduce the state down to the postal abbreviation, center the data label, and then delete the point marker.&amp;nbsp; This cleans up the chart quite a bit and is similar to the idea behind a stem-and-leaf plot: using the values as the visual element of the chart.&lt;br /&gt;&lt;br /&gt;To add the data labels, first you need to install one of the chart utilities I mentioned above.&amp;nbsp; This example will use JWalk Chart Tools.&amp;nbsp; First, I like to make my points invisible, but you can do this in either order.&amp;nbsp; Double click on the points, go to the Patterns tab, and set both lines and points to 'None'. &lt;br /&gt;&lt;br /&gt;After you hit okay, you'll have some invisible points.&amp;nbsp; If you ever lose these and want to edit them again, just use the arrow keys to move around the different chart elements and you'll eventually find them.&amp;nbsp; After that, hit Shift+F10 and the right-click menu for that object will pop up.&amp;nbsp; I use this more often for axes that I've deleted and want to rescale.&lt;br /&gt;&lt;br /&gt;After you right click on the points, select JWalk Chart Tools from the bottom of the menu.&amp;nbsp; Select the Data Labels tab, choose the series you want to label from the list, and then drag the selection over the range of state postal code abbreviations.&amp;nbsp; Leave the box checked for Create Links to Label Cells.&lt;br /&gt;&lt;br /&gt;Now you'll want to double click the data labels and center them so they aren't off to the right of your actual points.&amp;nbsp; You'll likely end up with a few points majorly overlapping.&amp;nbsp; The main point of a scatter plot is to show relationships, not exact values, so don't be afraid to jiggle the data to make it legible.&amp;nbsp; People are probably going to be more interested in the trend line than the individual points in any event.&amp;nbsp; Scatterplots always need trendlines.&amp;nbsp; You can add this by right clicking on your points and selecting Add Trendline.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_Nck4gdGWlng/StKc3iov_bI/AAAAAAAACtw/naChMzrB0qQ/s1600-h/Health+Care+Spending+vs.+Cancer+by+State.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_Nck4gdGWlng/StKc3iov_bI/AAAAAAAACtw/naChMzrB0qQ/s400/Health+Care+Spending+vs.+Cancer+by+State.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;That &lt;i&gt;was &lt;/i&gt;a nice looking chart.&amp;nbsp; I'm still figuring out this whole blogging thing.&amp;nbsp; The default image hosting in Blogger is giving me fits.&lt;br /&gt;&lt;br /&gt;One thing I didn't mention in all of this is that the original data I pulled from DataMasher.org only had full state names not the postal abbreviations.&amp;nbsp; I'd like to think I know all of the postal codes, but I send maybe 5 letters in an entire year and all of those go to the same 3 states.&amp;nbsp; And even if I did remember them all correctly, it's a pain typing out 50 postal codes.&amp;nbsp; That's probably over 100 letters!&lt;br /&gt;&lt;br /&gt;So, I wrote my own Excel formula that exchanges state names with postal abbreviations and vice versa.&amp;nbsp; That post will be later this week.&lt;br /&gt;&lt;br /&gt;-David&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4886916435744894482-7367821125327643977?l=davidmerlemontgomery.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidmerlemontgomery.blogspot.com/feeds/7367821125327643977/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2009/10/useless-metrics-and-scatter-plots.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/7367821125327643977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/7367821125327643977'/><link rel='alternate' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2009/10/useless-metrics-and-scatter-plots.html' title='Useless Metrics and Scatter Plots'/><author><name>David</name><uri>http://www.blogger.com/profile/01310468206360138820</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Nck4gdGWlng/Sq0q6wvkERI/AAAAAAAACr0/yZNW_KWq5fE/S220/IMG_0316_2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Nck4gdGWlng/StKc3iov_bI/AAAAAAAACtw/naChMzrB0qQ/s72-c/Health+Care+Spending+vs.+Cancer+by+State.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4886916435744894482.post-6814459966715428192</id><published>2009-10-06T19:23:00.000-07:00</published><updated>2009-10-07T10:00:26.027-07:00</updated><title type='text'>Drawing Toolbar</title><content type='html'>Just a quick post today, and no math.&lt;br /&gt;&lt;br /&gt;Before I get into today's tip, I want to explain a bit about my background.&amp;nbsp; When I went to college (2000-2007), we never learned &lt;i&gt;anything&lt;/i&gt; about Excel.&amp;nbsp; We did our regressions and such in a program that I think was called R.&amp;nbsp; There might have been another program too, but nothing that anybody uses in real life.&amp;nbsp; Definitely not SAS.&amp;nbsp; Anyway, when I started applying for jobs, everyone kept asking me how comfortable I was with Excel, and I would tell them I hadn't really used it but I'm sure I could pick it up pretty quickly.&lt;br /&gt;&lt;br /&gt;I didn't get called back on these jobs, so when I interviewed for my current job, I lied my ass off.&amp;nbsp; I don't recommend this in most scenarios, but I've used enough Microsoft products to know that the help files are pretty exhaustive and anything else I can find online easily enough.&amp;nbsp; It's just a bunch of boxes and numbers, how hard could it be?&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;Within a couple of weeks I was considered the office Excel guru.&amp;nbsp; I would get a lot of comments along the lines of "Wow, how do you know all of this stuff?" and "You're lucky, we never learned this kind of thing when I was in school", and in my head I'd be answering "I literally copied and pasted your question into Google, clicked on the first link, and read it" and "No, &lt;i&gt;you're&lt;/i&gt; lucky!&amp;nbsp; Because, um, uh... dammit."&lt;br /&gt;&lt;br /&gt;Eventually though, the help file failed me.&amp;nbsp; I tend to spend a lot of time lining up charts and tables and I realized that this &lt;i&gt;spending&lt;/i&gt; felt a lot like &lt;i&gt;wasting&lt;/i&gt;, so I went into the help file and typed in "snap to grid".&lt;br /&gt;&lt;br /&gt;Do you know how many articles the help file has about snap to grid?&amp;nbsp; Zero.&amp;nbsp; Zip.&amp;nbsp; Nothing.&amp;nbsp; I might as well have typed in "make things you drag line up&amp;nbsp; more better".&amp;nbsp; But this option is in Excel!&amp;nbsp; Do you know what it's called?&amp;nbsp; That's right, &lt;b&gt;snap to grid&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;And no, I didn't Google it in this case, instead I wondered who would be stupid enough to make a program with a grid that you couldn't snap to and proceeded to waste roughly two years of my life trying to line my charts up to within a pixel of each other using a ruler.&lt;br /&gt;&lt;br /&gt;Today's tip then is to use the draw menu.&amp;nbsp; There are some fantastic things in the draw menu, such as:&lt;br /&gt;&lt;br /&gt;Snap to Grid&lt;br /&gt;Align (Left, Right, Center, Top, Middle, Bottom)&lt;br /&gt;Distribute (Horizontally, Vertically)&lt;br /&gt;Autoshape&lt;br /&gt;Text Box &lt;br /&gt;&lt;br /&gt;Snap to grid does what you'd expect, and it was everything I imagined it would be.&lt;br /&gt;&lt;br /&gt;The align and distribute options are great for lining up or equally spacing multiple charts without resizing your columns and rows.&amp;nbsp; Here is an example of align bottom:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_Nck4gdGWlng/SsvzNVKjJaI/AAAAAAAACtY/Nrt3jigNtLI/s1600-h/before.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_Nck4gdGWlng/SsvzNVKjJaI/AAAAAAAACtY/Nrt3jigNtLI/s400/before.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&amp;nbsp;&lt;a href="http://3.bp.blogspot.com/_Nck4gdGWlng/SsvzOyUCQAI/AAAAAAAACtg/j6ft0pTiMMQ/s1600-h/after.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_Nck4gdGWlng/SsvzOyUCQAI/AAAAAAAACtg/j6ft0pTiMMQ/s400/after.jpg" tooltip="linkalert-tip" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Why yes, that IS bold-italic Comic Sans!&amp;nbsp; You like it too?&lt;br /&gt;&lt;br /&gt;Finally, if you make a lot of charts and you aren't using auto shapes or text boxes, you're either very lucky to have such nice data or you're doing it wrong.&amp;nbsp; I'm all for making charts correctly, but every once in a while I have an outlier that I have to show in a graph but I don't want to smash all of my data down to fit it on the axis.&amp;nbsp; Before you can even think of some fancy way to finesse a solution with alternate axes or clever use of data labels, I've simply drawn the point onto my chart and I'm good to go.&amp;nbsp; Things like this used to bother the perfectionist in me, but because I have deadlines and because so many of my charts seem to be one-off projects instead of something I'm going to do over and over, I no longer mind this "duct tape" approach to fixing charts.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_Nck4gdGWlng/Ssv1XPbHUmI/AAAAAAAACto/wFHk669F6jg/s1600-h/drawmenu.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_Nck4gdGWlng/Ssv1XPbHUmI/AAAAAAAACto/wFHk669F6jg/s320/drawmenu.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Also, for things like that outlier above, another great feature is grouping.&amp;nbsp; You can select the text box, the line, and the square, right click, and then select "Group"; now they will all move in perfect harmony instead of us having to drag them one at a time.&lt;br /&gt;&lt;br /&gt;That's all for today.&amp;nbsp; I'll probably get back to my large claim chart later this week.&amp;nbsp; Oh, and I've sort've narrowed down the scope of this blog.&amp;nbsp; I'm going to focus on Excel, general office productivity, and whatever video/board games I'm currently playing.&amp;nbsp; I'll try to keep that last one to a minimum, but I'm sure some people would like a detailed analysis of the math behind &lt;a href="http://www.amazon.com/gp/product/B000W7JWUA?ie=UTF8&amp;amp;tag=dawo-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=B000W7JWUA" tooltip="linkalert-tip"&gt;Settlers of Catan&lt;/a&gt;&lt;img alt="" border="0" class=" lfapsycqrrbppxhcktlo lfapsycqrrbppxhcktlo lfapsycqrrbppxhcktlo lfapsycqrrbppxhcktlo lfapsycqrrbppxhcktlo lfapsycqrrbppxhcktlo khwuxcefpmewcyfpwtlj khwuxcefpmewcyfpwtlj khwuxcefpmewcyfpwtlj khwuxcefpmewcyfpwtlj khwuxcefpmewcyfpwtlj khwuxcefpmewcyfpwtlj khwuxcefpmewcyfpwtlj khwuxcefpmewcyfpwtlj khwuxcefpmewcyfpwtlj khwuxcefpmewcyfpwtlj" height="1" src="http://www.assoc-amazon.com/e/ir?t=dawo-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=B000W7JWUA" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt;. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;*&lt;/span&gt; &lt;span style="font-size: x-small;"&gt;Every once in a while I do horrible things at work just to get a reaction.&amp;nbsp; Things like using donut charts, drop shadow, 3d-effects, and Comic Sans.&amp;nbsp; Nobody notices. &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4886916435744894482-6814459966715428192?l=davidmerlemontgomery.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidmerlemontgomery.blogspot.com/feeds/6814459966715428192/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2009/10/drawing-toolbar.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/6814459966715428192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/6814459966715428192'/><link rel='alternate' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2009/10/drawing-toolbar.html' title='Drawing Toolbar'/><author><name>David</name><uri>http://www.blogger.com/profile/01310468206360138820</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Nck4gdGWlng/Sq0q6wvkERI/AAAAAAAACr0/yZNW_KWq5fE/S220/IMG_0316_2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_Nck4gdGWlng/SsvzNVKjJaI/AAAAAAAACtY/Nrt3jigNtLI/s72-c/before.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4886916435744894482.post-9021164281682479485</id><published>2009-09-30T19:25:00.000-07:00</published><updated>2010-05-21T12:01:45.937-07:00</updated><title type='text'>Two Color XY -Area Combo Chart</title><content type='html'>I was reading a post on the &lt;a href="http://peltiertech.com/WordPress/fill-between-xy-chart-series-xy-area-combo-chart/" tooltip="linkalert-tip"&gt;PTS Blog&lt;/a&gt; about how to fill in the area between two lines in an excel chart and I thought of a way to make it more complicated and thus more intimidating to your coworkers.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://peltiertech.com/WordPress/fill-between-xy-chart-series-xy-area-combo-chart/"&gt;original article&lt;/a&gt; shows how to color the area between two lines in a chart where the lines &lt;i&gt;never cross&lt;/i&gt;.&amp;nbsp; I'm going to assume you're like me and you read that blog every day so you already know what I'm talking about.&lt;br /&gt;&lt;br /&gt;What if you want to cross the lines?&amp;nbsp; The good news is that crossing the lines doesn't break anything, the area between the lines is still filled in perfectly.&amp;nbsp; The bad news is that the fill series is only one color and as soon as you show it to someone they'll ask why the positive and negative areas aren't green and red, respectively (which you shouldn't do anyway because a lot of people are red/green colorblind).&amp;nbsp; Before today, you would have said that it would take too long to add a second color, that it was impossible, or you would have just drawn auto shapes on top of the chart.&amp;nbsp; Today though there is a much easier solution:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Download the workbook at the end of this post.&lt;/li&gt;&lt;li&gt;Plug in your data values.&lt;/li&gt;&lt;li&gt;Profit.&lt;/li&gt;&lt;/ol&gt;If you actually want to know how the chart works, please read on...&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;I'm assuming we're all starting from this point:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_Nck4gdGWlng/SsQSpo7sNvI/AAAAAAAACtQ/u4BAF2jloaU/s1600-h/start.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_Nck4gdGWlng/SsQSpo7sNvI/AAAAAAAACtQ/u4BAF2jloaU/s400/start.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;Okay, so the first thing that is obvious is that you'll need to add another data series if you want an additional color.&amp;nbsp; Creating separate positive and negative data series doesn't work by itself though, you need your positive and negative shading to end where the lines intersect, but the shading will continue on to the next point on the axis with the current configuration.&amp;nbsp; What we need to do is find the points where the lines intersect and add them to our secondary x-axis (just a recap, the lines are on the primary x-axis, the shading on the secondary axis).&lt;br /&gt;&lt;br /&gt;This isn't as hard as it sounds, but when searching for a way to find the point where lines intersect in Excel I found a lot of people suggesting Goalseek.&amp;nbsp; Letting machines do math for you is only okay if you told it &lt;i&gt;exactly&lt;/i&gt; what to do.&amp;nbsp; If you didn't tell it what to do, the computer is &lt;i&gt;thinking for you&lt;/i&gt;, and that is a slippery slope to &lt;a href="http://www.amazon.com/gp/product/B001VLBDD0?ie=UTF8&amp;amp;tag=dawo-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=B001VLBDD0"&gt;Skynet&lt;/a&gt;&lt;img alt="" border="0" class=" sogotyxwhndaibnqcdnx sogotyxwhndaibnqcdnx sogotyxwhndaibnqcdnx sogotyxwhndaibnqcdnx sogotyxwhndaibnqcdnx sogotyxwhndaibnqcdnx wziizmmkdnothftnpigr wziizmmkdnothftnpigr" height="1" src="http://www.assoc-amazon.com/e/ir?t=dawo-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=B001VLBDD0" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt;.&amp;nbsp; But that's a whole different post.&lt;br /&gt;&lt;br /&gt;The common formula for a straight line is y = mx + b, where m is the slope and b is the y-axis intercept.&amp;nbsp; At each point of intersection, we have two lines:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;y1 = mx1 + b&lt;/div&gt;&lt;div style="text-align: center;"&gt;y2 = nx2 + c&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Because we want the point where the lines intersect, y1 = y2 and x1 = x2.&amp;nbsp; Because both of the formulas equal y, they are also equal to each other and we can simplify to:&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;mx + b = nx + c&lt;/div&gt;&lt;div style="text-align: left;"&gt;Solving for x gives us:&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;x = (c-b)/(m-n)&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Excel has built in functions for calculating the slope and the intercept for a range of x and y values which they've cleverly named SLOPE() and INTERCEPT().&amp;nbsp; We'll only need two points to calculate each of our line segments, so our formulas will take the form&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;slope({y1,y2},{x1,x2}),&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;where (x1,y1) are the coordinates of the beginning of the line segment and (x2,y2) is the end point of the line segment. &lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Because the lines can potentially cross between any two data points, we're doubling the size of the original secondary x-axis.&amp;nbsp; Every other point will be one of the original data points, and the in between points will either be NA() if the lines don't cross (Excel will skip over NA() errors when plotting most types of charts) or something like this formula if they do cross:&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;=(INTERCEPT(c4:c5,d4:d5)-INTERCEPT(b4:b5,d4:d5)) /&lt;/div&gt;&lt;div style="text-align: center;"&gt;(SLOPE(b4:b5,d4:d5)-SLOPE(c4:c5,d4:d5))&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Of course the formulas in the workbook are much uglier because I'm counting ROWS() and using the OFFSET() formula so I don't have to manually add each line segment from the original data set, but it's a little hard(er) to follow.&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_Nck4gdGWlng/SsQJICevIaI/AAAAAAAACtA/Lu2H6c8ddCY/s1600-h/datapoints.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/_Nck4gdGWlng/SsQJICevIaI/AAAAAAAACtA/Lu2H6c8ddCY/s400/datapoints.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Your new secondary x axis should look something like column G.&amp;nbsp; You stil run from 0 to 1,000, you still repeat the first and last value, and every other point is one of the original points as calculated in Mr. Peltier's post.&amp;nbsp; The points in between are #N/A errors where the points don't cross, and the points of intersection we calculated with the INTERCEPT() and SLOPE() formulas if they do.&amp;nbsp; An easy way to tell if the lines cross?&amp;nbsp; In column F we had previously calculated the difference between the two original data series.&amp;nbsp; If the product of any two adjacent points in column F is negative, the lines intersect between those two points.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;The next step is to rebuild the three Area data series.&amp;nbsp; Area1 is the transparent series , Area2 is the positive series, and Area3 is the negative series.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;To create Area1, every other row should point to an entry in the original series in column E.&amp;nbsp; The in-between points should once again be NA() errors if the lines don't intersect (same for Area1 and Area2 as well), and when they do intersect we just need to calculate the y value at that point.&amp;nbsp; We already have the x value, so we can plug that into our y = mx + b equation.&amp;nbsp; The formula for H9 would be:&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;=SLOPE(b6:b7,d6:d7)*g9+INTERCEPT(b6:b7,d6:d7)&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;You could also use the points c6:c7 for your y values as both line formulas will give the same result with that x value (g9). &lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Area2 and Area3 are incredibly straight forward.&amp;nbsp; We still use the points in column F for every other entry, but the trick is that we only use the positive points in Area2 and only negative points in Area3.&amp;nbsp; This is easy to do with MAX(f4,0) for Area1 and MIN(f4,0) for Area3.&amp;nbsp; All other points are either NA() errors if there is no point of intersection or zero.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;Now you just need to go into your graph and add these series to the chart.&amp;nbsp; Series 1 and 2 are lines, Series 3 (the transparent series) should now point to h2:h20, Series 4 (the positive series) should point to the values in column I, and you'll have to add a Series 5 (negative) to point to the values in column J.&amp;nbsp; The secondary x-axis values also need to be changed to the values in column G.&amp;nbsp; Also, if your Series 5 didn't default over to the secondary axes, you'll have to switch it.&amp;nbsp; Double click on each area series, change the colors, and you're all set.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;If everything went correctly, you should have something like this:&lt;/div&gt;&lt;a href="http://4.bp.blogspot.com/_Nck4gdGWlng/SsQQuJeBaBI/AAAAAAAACtI/pLMOVJgTPPw/s1600-h/chart.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_Nck4gdGWlng/SsQQuJeBaBI/AAAAAAAACtI/pLMOVJgTPPw/s400/chart.jpeg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;If not, the workbook will make more sense than I ever could:&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://drop.io/davidatwork/asset/twocolorxyareachart-xls"&gt;http://drop.io/davidatwork/asset/twocolorxyareachart-xls&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Let me know what you think in the comments. &lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;-David &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4886916435744894482-9021164281682479485?l=davidmerlemontgomery.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidmerlemontgomery.blogspot.com/feeds/9021164281682479485/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2009/09/two-color-xy-area-combo-chart.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/9021164281682479485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/9021164281682479485'/><link rel='alternate' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2009/09/two-color-xy-area-combo-chart.html' title='Two Color XY -Area Combo Chart'/><author><name>David</name><uri>http://www.blogger.com/profile/01310468206360138820</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Nck4gdGWlng/Sq0q6wvkERI/AAAAAAAACr0/yZNW_KWq5fE/S220/IMG_0316_2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Nck4gdGWlng/SsQSpo7sNvI/AAAAAAAACtQ/u4BAF2jloaU/s72-c/start.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4886916435744894482.post-855453574280510289</id><published>2009-09-24T19:23:00.000-07:00</published><updated>2009-09-30T18:14:23.438-07:00</updated><title type='text'>Large Claim Chart #2 - Pretty Pictures</title><content type='html'>Alright, I finally got around to posting this thing...&lt;br /&gt;&lt;br /&gt;So when we left off I was explaining the idea behind a large claim chart and why they can be useful.&amp;nbsp; Now, a history lesson.&lt;br /&gt;&lt;br /&gt;When I first started my job, we had one table that explained large claims that I've recreated below.&amp;nbsp; Like all images on this blog, please click for a usable size.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_Nck4gdGWlng/SrwUAnNW4lI/AAAAAAAACsY/R-zBP62wEcE/s1600-h/Outlook.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_Nck4gdGWlng/SrwUAnNW4lI/AAAAAAAACsY/R-zBP62wEcE/s400/Outlook.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;a name='more'&gt;&lt;/a&gt;Here we have 5 years of large claims in 5 bins.&amp;nbsp; The size of the bins changes depending on the group, but suffice to say that they are almost always worthless.&amp;nbsp; The average year for a mid-sized group will have 25+ large claims between $25,000 and $250,000 each.&amp;nbsp; You can't split that up into 5 useful bins, it's too much ground for just five bins to cover.&amp;nbsp; Looking at the large claim table as filled in above, even if I capped all of the claims at $150,000 the table could total up anywhere from $3.1m to $4.7m.&amp;nbsp; That isn't precise by anyone's standards.&lt;br /&gt;&lt;br /&gt;Also, they aren't really bins.&amp;nbsp; If you look at the header row it has a greater than sign, which means in 2008-09 there were 6 claims total over over $15,000, all 6 of those were over $25,000, 5 of those were over $50,000, etc.&amp;nbsp;&amp;nbsp; So a claim in the largest bin is also counted in every other bin.&amp;nbsp; Apparently this isn't intuitive because I get asked about it all the time and I usually have to explain it for 30 minutes before it clicks.&amp;nbsp; I'd like to scrap this chart altogether, but people fear change.&amp;nbsp; Who can blame them? &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_Nck4gdGWlng/SrwccqRgwyI/AAAAAAAACsg/LlWl4F9xXkY/s1600-h/Outlook-4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_Nck4gdGWlng/SrwccqRgwyI/AAAAAAAACsg/LlWl4F9xXkY/s400/Outlook-4.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;This is my first attempt to show off large claim experience visually.&amp;nbsp; Note that I didn't crop or touch up these images.&amp;nbsp; Also, for this image pretend that there are five years shown on the x-axis that correspond with the five vertical columns of dots.&lt;br /&gt;&lt;br /&gt;You may ask yourself, "Why are the dots arranged semi-randomly in each year?&amp;nbsp; And why don't I own &lt;a href="http://www.amazon.com/gp/product/B0019MFY3Q?ie=UTF8&amp;amp;tag=dawo-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=B0019MFY3Q"&gt;Spaced: The Complete Series&lt;/a&gt;&lt;img alt="" border="0" class=" ljapalkpeiakcrwbvein ljapalkpeiakcrwbvein ljapalkpeiakcrwbvein ljapalkpeiakcrwbvein ljapalkpeiakcrwbvein ljapalkpeiakcrwbvein ljapalkpeiakcrwbvein ljapalkpeiakcrwbvein ljapalkpeiakcrwbvein ljapalkpeiakcrwbvein ljapalkpeiakcrwbvein ljapalkpeiakcrwbvein ljapalkpeiakcrwbvein ljapalkpeiakcrwbvein ljapalkpeiakcrwbvein ljapalkpeiakcrwbvein ljapalkpeiakcrwbvein ljapalkpeiakcrwbvein sogotyxwhndaibnqcdnx sogotyxwhndaibnqcdnx sogotyxwhndaibnqcdnx sogotyxwhndaibnqcdnx" height="1" src="http://www.assoc-amazon.com/e/ir?t=dawo-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=B0019MFY3Q" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt; on dvd?"&amp;nbsp; This is still the largest problem with the chart, but I can't think of a better way to do it.&amp;nbsp; Large claims occur over several months so it doesn't make sense to arrange them by month, and since we're concerned primarily with stop loss we only care what the year end total was for each plan year.&amp;nbsp; I can't arrange the claims in a vertical line, they would overlap too much.&amp;nbsp; So instead, clusters.&amp;nbsp; They've grown on me, but it still seems like that x-axis could be put to better use.&amp;nbsp; If you can think of a better way to arrange them, please leave a comment.&lt;br /&gt;&lt;br /&gt;I should also point out that the clusters aren't random.&amp;nbsp; They used to be, but now they are just scattered over 5, 7, or 9 repeating horizontal positions in each year.&amp;nbsp; This gives me a little room to play with the data so that it doesn't overlap and hopefully looks more appealing without drawing every single stupid dot by myself.&lt;br /&gt;&lt;br /&gt;So that chart was a good start, we can easily see at a glance that year three was very good and year four was very, very bad.&amp;nbsp; New questions came up though.&amp;nbsp; What was wrong with all of these large claimants?&amp;nbsp; Is it contagious?&amp;nbsp; Would it have been preventable with early detection?&amp;nbsp; Do we need to address it in our wellness plan*?&amp;nbsp; Also, which of these claims exceeded the stop loss deductible?&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_Nck4gdGWlng/SrwgIU28mBI/AAAAAAAACso/vO8eQlDm9bs/s1600-h/Outlook-3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_Nck4gdGWlng/SrwgIU28mBI/AAAAAAAACso/vO8eQlDm9bs/s400/Outlook-3.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;This next version of the chart addresses those questions (I mean, it would've if I had included the diagnosis for each of those labels, but I'm saving that for the final reveal.&amp;nbsp; Skip down if you're impatient).&amp;nbsp; Looking at the numbers on each claim will give you the diagnosis, but when you see the same diagnosis in several years you wonder if it's the same person.&amp;nbsp; We have an answer for that too.&amp;nbsp; Oh, and I added a thick, grey line to indicate the specific deductible in each plan year. &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_Nck4gdGWlng/SrwhkENd5wI/AAAAAAAACsw/Kb2fV08MnXE/s1600-h/Outlook-2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_Nck4gdGWlng/SrwhkENd5wI/AAAAAAAACsw/Kb2fV08MnXE/s400/Outlook-2.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;The chart has now transformed into what I call a "Spaghetti and Meatballs" chart, which I think deserves scare quotes (in the future, all quotes are scare quotes).&amp;nbsp; I changed the color of claimants appearing in multiple years to a peaceful green and connected them all with lines.&amp;nbsp; I don't have a picture of what the chart looked like when I kept everything orange, but before you go trying to recreate it at home please believe me that it will make you gouge out your eyes.&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;That chart is pretty informative, but it can be improved.&amp;nbsp; After seeing someone with a horribly expensive, scary diagnosis appearing year after year, the person who pays those bills will wonder if they are still active on the plan.&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/_Nck4gdGWlng/SrwjDxeSEuI/AAAAAAAACs4/G2WEPy-RHz8/s1600-h/Outlook-1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/_Nck4gdGWlng/SrwjDxeSEuI/AAAAAAAACs4/G2WEPy-RHz8/s400/Outlook-1.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;Here is the current and possibly final version of my large claim chart.&amp;nbsp; In an attempt to put Edward Tufte's Escaping Flatland chapter into practice, each point shows which year a claimant appeared in, how much their claims were that year, if they appeared in multiple years, if they are still active, and what they were diagnosed with that year.&amp;nbsp; It's also sort of a Micro/Macro design, with the graph above giving a rough overview of the large claim history with more gritty details available below for those willing to invest some time into the chart.&lt;br /&gt;&lt;br /&gt;And what stories it can tell!&amp;nbsp; Look at the $250,000 claimant in 2007-08.&amp;nbsp; That year she was Owned by a Lich, the following year she suffered Beholder-Related Agony, and in 2009-10 she was Reamed by a Dragon.&amp;nbsp; Despite all of that, she is still active on the plan!&amp;nbsp; What a daring tale of survival!&amp;nbsp; Less uplifting is the story of the $350,000 claimant in 2005-06.&amp;nbsp; With $350,000 in claims and a diagnosis of Finger of Death, we can only assume the worst when we observe that this member is no longer active.&lt;br /&gt;&lt;br /&gt;Unfortunately the data table is still there, but I had to leave a familiar point of entry in the chart so people wouldn't completely freak out.&lt;br /&gt;&lt;br /&gt;Better version available&amp;nbsp;&lt;a href="http://drop.io/6hchhyq#"&gt;here.&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;A few boring notes on the chart that I feel obligated to throw in:&amp;nbsp; I &lt;i&gt;really&lt;/i&gt; like it, but I want to make it even better so feedback would be great.&amp;nbsp; However, I made this at work and they'd probably be irritated if it started showing up other places, so please don't use this commercially.&amp;nbsp; There is a Creative Commons thingy below.&amp;nbsp; Also, we take HIPAA &lt;i&gt;very &lt;/i&gt;seriously, so all of these claim numbers included are random and all of the diagnoses are D&amp;amp;D inspired because I've been playing an obscene amount of &lt;a href="http://www.amazon.com/gp/product/B00009ECGG?ie=UTF8&amp;amp;tag=dawo-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=B00009ECGG"&gt;Baldur's Gate 2&lt;/a&gt;&lt;img alt="" border="0" class=" ljapalkpeiakcrwbvein ljapalkpeiakcrwbvein ljapalkpeiakcrwbvein ljapalkpeiakcrwbvein ljapalkpeiakcrwbvein ljapalkpeiakcrwbvein ljapalkpeiakcrwbvein ljapalkpeiakcrwbvein ljapalkpeiakcrwbvein ljapalkpeiakcrwbvein ljapalkpeiakcrwbvein ljapalkpeiakcrwbvein sogotyxwhndaibnqcdnx sogotyxwhndaibnqcdnx sogotyxwhndaibnqcdnx sogotyxwhndaibnqcdnx" height="1" src="http://www.assoc-amazon.com/e/ir?t=dawo-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=B00009ECGG" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt; lately.&lt;br /&gt;&lt;br /&gt;-David&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;* Don't get me started...&lt;/span&gt;&lt;br /&gt;&lt;a href="http://creativecommons.org/licenses/by-nc-sa/3.0/us/" rel="license"&gt;&lt;img alt="Creative Commons License" src="http://i.creativecommons.org/l/by-nc-sa/3.0/us/88x31.png" style="border-width: 0pt;" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size: xx-small;"&gt;Large Claim Chart by David Montgomery is licensed under a &lt;a href="http://creativecommons.org/licenses/by-nc-sa/3.0/us/" rel="license"&gt;Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License&lt;/a&gt;.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4886916435744894482-855453574280510289?l=davidmerlemontgomery.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidmerlemontgomery.blogspot.com/feeds/855453574280510289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2009/09/large-claim-chart-2-chart-museum.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/855453574280510289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/855453574280510289'/><link rel='alternate' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2009/09/large-claim-chart-2-chart-museum.html' title='Large Claim Chart #2 - Pretty Pictures'/><author><name>David</name><uri>http://www.blogger.com/profile/01310468206360138820</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Nck4gdGWlng/Sq0q6wvkERI/AAAAAAAACr0/yZNW_KWq5fE/S220/IMG_0316_2.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_Nck4gdGWlng/SrwUAnNW4lI/AAAAAAAACsY/R-zBP62wEcE/s72-c/Outlook.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4886916435744894482.post-5012691392962498986</id><published>2009-09-23T18:06:00.000-07:00</published><updated>2009-09-30T18:02:29.064-07:00</updated><title type='text'>Update</title><content type='html'>Did anybody read my blog while I was gone?  No?  Great!&lt;br /&gt;&lt;br /&gt;I'm going to get serious about updating this thing at some point, just probably not this week.  I'm a little bit under the weather, I'm preparing to reformat my Mac and install Snow Leopard, my 1TB drive with all of my movies on it died, and Jaclyn surprised me with a &lt;a href="http://www.amazon.com/gp/product/B001T8S62Q?ie=UTF8&amp;amp;tag=dawo-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=B001T8S62Q"&gt;DSi&lt;/a&gt;&lt;img alt="" border="0" class=" sogotyxwhndaibnqcdnx sogotyxwhndaibnqcdnx" height="1" src="http://www.assoc-amazon.com/e/ir?t=dawo-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=B001T8S62Q" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt; for my birthday about a month early.  So yeah, not a lot of time to blog.&lt;br /&gt;&lt;br /&gt;My large claim chart will eventually be posted.  Also, the over-commercialization of this blog is a joke.  But that doesn't mean you shouldn't buy &lt;a href="http://www.amazon.com/gp/product/B001VKY7WU?ie=UTF8&amp;amp;tag=dawo-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=B001VKY7WU"&gt;stuff!!!&lt;/a&gt;&lt;img alt="" border="0" class=" sogotyxwhndaibnqcdnx sogotyxwhndaibnqcdnx" height="1" src="http://www.assoc-amazon.com/e/ir?t=dawo-20&amp;amp;l=as2&amp;amp;o=1&amp;amp;a=B001VKY7WU" style="border: medium none ! important; margin: 0px ! important;" width="1" /&gt;  I'm trying to buy a house in the next two years. I'd love to put Adsense up, but for some reason Google insists I already have an application in that has been pending review for 2 months.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4886916435744894482-5012691392962498986?l=davidmerlemontgomery.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidmerlemontgomery.blogspot.com/feeds/5012691392962498986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2009/09/update.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/5012691392962498986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/5012691392962498986'/><link rel='alternate' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2009/09/update.html' title='Update'/><author><name>David</name><uri>http://www.blogger.com/profile/01310468206360138820</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Nck4gdGWlng/Sq0q6wvkERI/AAAAAAAACr0/yZNW_KWq5fE/S220/IMG_0316_2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4886916435744894482.post-8371172154262474123</id><published>2009-09-16T19:00:00.000-07:00</published><updated>2009-09-23T18:46:37.485-07:00</updated><title type='text'>Large Claim Chart #1 - Background</title><content type='html'>In the coming days (or weeks, my Gamefly account is dominating a zero-sum game with my blog) I'm going to be posting my large claim chart.&amp;nbsp; It gets a little health insurance-y, so I thought I'd explain a few things before I begin.&lt;br /&gt;&lt;br /&gt;For the zero people who read this blog...&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;Anyway, I'm an employee benefits consultant and analyst working on mostly self insured groups.&amp;nbsp; What self insured means in Washington State is that the group pays all of their claims up to a certain point, either on an individual or aggregate basis.&amp;nbsp; After that, the group's&lt;i&gt; &lt;a href="http://www.stoplossmovie.com/"&gt;stop loss&lt;/a&gt; &lt;/i&gt;insurance will pay the rest of the claim(s).&amp;nbsp; For the purpose of the large claim chart, we're interested in individual stop loss insurance.&lt;br /&gt;&lt;br /&gt;Individual stop loss insurance is nearly every self insured group's largest fixed cost.&amp;nbsp; Let's say a group has a specific deductible of $200,000.&amp;nbsp; Some jerk on the plan gets mauled by a &lt;a href="http://forgottenrealms.wikia.com/wiki/Basilisk"&gt;basilisk&lt;/a&gt; and goes in for a $500,000 operation to save his life.&amp;nbsp; Why does the plan care?&amp;nbsp; Not only do they have to pay the $200,000 to meet the specific deductible, but their insurance company isn't going to be happy about eating a $300,00 &lt;a href="http://www.amazon.com/gp/product/B0013FSL1Q?ie=UTF8&amp;tag=dawo-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=B0013FSL1Q"&gt;stop loss&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=dawo-20&amp;l=as2&amp;o=1&amp;a=B0013FSL1Q" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt; claim and they'll get that money back with interest when they set premiums at the next renewal (medical plans renew annually).&amp;nbsp;&lt;br /&gt;&lt;br /&gt;The insurance carrier knows they can charge anything they want next year because no one will touch a group that gets mauled by &lt;a href="http://en.wikipedia.org/wiki/Basilisk_%28Dungeons_&amp;amp;_Dragons%29"&gt;basilisks&lt;/a&gt; without lasering the large claimants.&amp;nbsp; A laser is a separate deductible for high risk people.&amp;nbsp; For this group, they'll pay all claims for every member up to $200,000 per member, but the high risk claimant with the laser will have a separate deductible, let's say $1,000,000, that the plan will have to pay before insurance kicks in.&amp;nbsp; No one likes lasers, they are risky and they destroy moral.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;"Oh look, it's Xerxes from accounting.&amp;nbsp; I heard he has a $1,000,000 laser and that's why our medical plan is so expensive.&amp;nbsp; Let's put a &lt;a href="http://www.amazon.com/gp/product/0786948523?ie=UTF8&amp;tag=dawo-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0786948523"&gt;basilisk&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=dawo-20&amp;l=as2&amp;o=1&amp;a=0786948523" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt; in his office."&lt;/i&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.iwozhere.com/SRD/images/MM35_PG23.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="147" src="http://www.iwozhere.com/SRD/images/MM35_PG23.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;Because sick people never, ever get better, it's important for groups to be aware of their past large claims.&amp;nbsp; It helps them pick the right specific deductible level for their group, set a budget, and it's also a lot of fun to look at the de-identified large claim data and try to guess who it is.&lt;br /&gt;&lt;br /&gt;When I started working at my office, we didn't have a chart for the large claim history, only a data table.&amp;nbsp; I'm a visual person, or at least I convinced myself that I was after reading a few &lt;a href="http://www.amazon.com/gp/product/0961392118?ie=UTF8&amp;tag=dawo-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0961392118"&gt;Edward Tufte books&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=dawo-20&amp;l=as2&amp;o=1&amp;a=0961392118" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt;, so I decided to create a large claim chart that would tell the story of their large claims visually.&lt;br /&gt;&lt;br /&gt;Next post, I'll show the evolution of the chart.  After that, I'll briefly explain how I made the chart in Excel and then you can laugh about how inelegant my solution is and tell me how I could have done it ten times faster. &lt;br /&gt;&lt;br /&gt;-David&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4886916435744894482-8371172154262474123?l=davidmerlemontgomery.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidmerlemontgomery.blogspot.com/feeds/8371172154262474123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2009/09/large-claim-chart-1-background.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/8371172154262474123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/8371172154262474123'/><link rel='alternate' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2009/09/large-claim-chart-1-background.html' title='Large Claim Chart #1 - Background'/><author><name>David</name><uri>http://www.blogger.com/profile/01310468206360138820</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Nck4gdGWlng/Sq0q6wvkERI/AAAAAAAACr0/yZNW_KWq5fE/S220/IMG_0316_2.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4886916435744894482.post-4126669333072814895</id><published>2009-09-13T10:48:00.000-07:00</published><updated>2009-09-13T10:48:34.422-07:00</updated><title type='text'>New Blog</title><content type='html'>I finally gave in and started a new blog.&amp;nbsp; I guess I just like talking about myself too much.&lt;br /&gt;&lt;br /&gt;I'm going to try to keep the tone of this blog a &lt;i&gt;little&lt;/i&gt; more professional.&amp;nbsp; We'll see how that goes.&lt;br /&gt;&lt;br /&gt;When time permits, I'd like to do a series of posts about my large claim chart.&amp;nbsp; Feedback would be appreciated, but I'll be shocked if anyone I don't know reads this blog.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4886916435744894482-4126669333072814895?l=davidmerlemontgomery.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://davidmerlemontgomery.blogspot.com/feeds/4126669333072814895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2009/09/new-blog.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/4126669333072814895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4886916435744894482/posts/default/4126669333072814895'/><link rel='alternate' type='text/html' href='http://davidmerlemontgomery.blogspot.com/2009/09/new-blog.html' title='New Blog'/><author><name>David</name><uri>http://www.blogger.com/profile/01310468206360138820</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_Nck4gdGWlng/Sq0q6wvkERI/AAAAAAAACr0/yZNW_KWq5fE/S220/IMG_0316_2.jpg'/></author><thr:total>0</thr:total></entry></feed>
