<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Gilligan on Data by Tim Wilson &#187; Excel</title>
	<atom:link href="http://www.gilliganondata.com/index.php/category/excel/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.gilliganondata.com</link>
	<description>Thoughts, musings, and, hopefully, not too many redundancies on the world of business data. If you missed the irony in the previous sentence, you may struggle with my writing style.</description>
	<lastBuildDate>Thu, 26 Jan 2012 13:44:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<image>
  <link>http://www.gilliganondata.com</link>
  <url>http://www.gilliganondata.com/favicon.ico</url>
  <title>Gilligan on Data by Tim Wilson</title>
</image>
		<item>
		<title>Excel Dropdowns Done Right: Data Validation and Named Ranges</title>
		<link>http://www.gilliganondata.com/index.php/2011/05/10/excel-dropdowns-done-right-data-validation-and-named-ranges/</link>
		<comments>http://www.gilliganondata.com/index.php/2011/05/10/excel-dropdowns-done-right-data-validation-and-named-ranges/#comments</comments>
		<pubDate>Tue, 10 May 2011 16:07:38 +0000</pubDate>
		<dc:creator>Tim Wilson</dc:creator>
				<category><![CDATA[Excel]]></category>
		<category><![CDATA[data validation]]></category>
		<category><![CDATA[dropdown]]></category>
		<category><![CDATA[named ranges]]></category>
		<category><![CDATA[OFFSET]]></category>

		<guid isPermaLink="false">http://www.gilliganondata.com/?p=1302</guid>
		<description><![CDATA[Every once in a very rare while, I find myself not motivated to expound upon deep and meaningful subjects. So, this post is not about the latest turn in world of privacy legislation, it&#8217;s not about my deepening fascination with two-tiered segmentation, it&#8217;s not about the perplexing and depressing indefinite …]]></description>
			<content:encoded><![CDATA[<p>Every once in a very rare while, I find myself not motivated to expound upon deep and meaningful subjects. So, this post is not about the <a title="California Privacy Bill" href="http://www.michelehinojosa.com/2011/05/05/california-privacy-bill-commentary-and-summary/" target="_blank">latest turn in world of privacy legislation</a>, it&#8217;s not about my deepening fascination with <a title="Two-Tiered Segmentation" href="http://semphonic.blogs.com/semangel/2011/04/semphonics-two-tiered-segmentation-segmentation-for-digital-analytics-done-right.html" target="_blank">two-tiered segmentation</a>, it&#8217;s not about the perplexing and depressing <a title="Demystified Days has been postponed" href="http://blog.webanalyticsdemystified.com/weblog/2011/05/demystified-days-has-been-postponed.html" target="_blank">indefinite postponement of Demystified Days</a>, and it&#8217;s not even about pondering when <a title="@teamevilforces" href="http://twitter.com/teamevilforces" target="_blank">Team Evil Forces</a> will have a web site.</p>
<p>Nope. Not today. This is just a good ol&#8217;, &#8220;Hey, let&#8217;s look at a handy capability of Excel&#8230;and how to use it to the best of its ability.&#8221;</p>
<p>This came up last week when a co-worker asked me: &#8220;How do I get dropdowns working in cells in Excel?&#8221; She knew she had done it before, but she couldn&#8217;t remember how. In the course of showing her, I realized that, therein, was one of those handy little tips worth sharing. I&#8217;m going to walk through three different ways to accomplish this:</p>
<ul>
<li>The totally common, mundane way &#8212; straightforward, but it has limitations</li>
<li>The way I <em>always</em> do it &#8212; almost no more effort to implement than the first way&#8230;but with fewer limitations</li>
<li>The way I may <em>start</em> doing it (sometimes), which would make the approach just that much slicker</li>
</ul>
<p>Bounce around as you see fit!</p>
<h3>The Scenario</h3>
<p>You&#8217;re using Excel to enter a table of data, where one or more of the columns have a standard set of possible values. For instance, let&#8217;s say you&#8217;ve made a list of household chores, and you use that list to both assign a priority to each task as well as to note the status of the work:</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1305" title="datavalidation1" src="http://www.gilliganondata.com/wp-content/uploads/2011/05/datavalidation1.png" alt="" width="330" height="97" /></p>
<p>For both the <strong>Priority</strong> and the <strong>Status</strong> column, you&#8217;d like to enter the values using a dropdown menu, rather than needing to retype a value in each cell:</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1306" title="datavalidation2" src="http://www.gilliganondata.com/wp-content/uploads/2011/05/datavalidation2.png" alt="" width="349" height="124" /></p>
<p>The wrinkle is that you expect this list to live for a while, and there&#8217;s a good chance that you may want to have other values available for either the <strong>Priority</strong> or the <strong>Status</strong> columns (or both). We&#8217;ll get to that.</p>
<h3>The Standard Excel Way &#8212; Data Validation</h3>
<p>The quickest way to set this up is with basic data validation:</p>
<ol>
<li>Highlight all of the cells that will use the same dropdown values</li>
<li>Select <strong>Data » Data Tools » Data Validation </strong><strong><img class="aligncenter size-full wp-image-1307" title="datavalidation3" src="http://www.gilliganondata.com/wp-content/uploads/2011/05/datavalidation3.png" alt="" width="398" height="319" /></strong><strong><br />
</strong></li>
<li>Change the <strong>Allow</strong> dropdown to <strong>List</strong></li>
<li>Enter the values in the <strong>Source</strong> box (separating different values using commas)<img class="aligncenter size-full wp-image-1308" title="datavalidation4" src="http://www.gilliganondata.com/wp-content/uploads/2011/05/datavalidation4.png" alt="" width="398" height="319" /></li>
<li>Click <strong>OK</strong></li>
<li>Repeat for each set of cells that has a unique set of dropdown value options.</li>
</ol>
<p>That&#8217;s all there is to it, and it works.</p>
<p><strong>The Limitation:</strong> Suppose that you decided you wanted to add a new value to the list of options, and that, rather than four cells right next to each other, this same data validation rule was used across numerous non-contiguous cells, even cells across multiple worksheets. Going in and updating the available list of values is a real pain. That brings us to&#8230;</p>
<h3>My Standard Way &#8212; Data Validation with a Named Range</h3>
<p>I regularly use dropdowns to make Excel-based reports more dynamic &#8212; enabling the user to choose whether he wants to see a weekly or a monthly version of the report, as well as to select the specific date range (this isn&#8217;t so much for the <em>user&#8217;s</em> benefit as it is for mine &#8212; it means I don&#8217;t make a &#8220;new report&#8221; each week or month, but, rather, update the data in the same workbook and then update the dropdown to get the current report; read more about my approach for that in <a title="Excel Dynamic Named Ranges = Never Manually Updating Your Charts" href="http://www.gilliganondata.com/index.php/2010/08/17/excel-dynamic-named-ranges-never-manually-updating-your-charts-2/" target="_blank">this post</a>).</p>
<p>I have a standard way of generating dropdowns that gets around the limitation described earlier: rather than entering the list of values directly in the data validation dialog box, I reference a named range. Using the same household chores scenario, I would accomplish the same end result, <em>sans</em> limitation, as follows:</p>
<ol>
<li>Add a new worksheet (I usually name it something like &#8220;Lookups&#8221; and then hide the worksheet once everything is set up so it&#8217;s never something that the user sees)</li>
<li>Enter the lists of values at the top of that sheet &#8212; one list per column<img class="aligncenter size-full wp-image-1309" title="datavalidation5" src="http://www.gilliganondata.com/wp-content/uploads/2011/05/datavalidation5.png" alt="" width="195" height="99" /></li>
<li>Select all of the values for one set of dropdown options and enter a name for that range (in this case, &#8220;List_Priority&#8221;)<img class="aligncenter size-full wp-image-1310" title="datavalidation6" src="http://www.gilliganondata.com/wp-content/uploads/2011/05/datavalidation6.png" alt="" width="228" height="127" /></li>
<li>Repeat this  for the other list of values (I named it &#8220;List_Status&#8221; &#8212; I like to prepend the names of similar types of named ranges so that they group easily in the <strong>Named Ranges</strong> dialog box)</li>
<li>Now, it&#8217;s the same basic process as described earlier, except, rather than entering the specific values in the data validation <strong>Source</strong> field, you enter a named range (note the &#8220;=&#8221; before the named range!):<img class="aligncenter size-full wp-image-1311" title="datavalidation7" src="http://www.gilliganondata.com/wp-content/uploads/2011/05/datavalidation7.png" alt="" width="398" height="319" /></li>
<li>Click <strong>OK</strong>, and you&#8217;re good to go again!</li>
</ol>
<p>Now, if you ever want to update values in the list, you can edit the values on the <strong>Lookups</strong> sheet. This <em>won&#8217;t</em> update the cell values that have already been populated &#8212; just the available values in the dropdown anywhere that named range is used (I have an approach that actually updates cell values, too, and does so without using macros, but that&#8217;s beyond the scope of this post).</p>
<p><strong>The Limitation:</strong> even this approach has a limitation, but it has a couple of workarounds. Let&#8217;s say you decide to add a value to one of your lists &#8212; say you want to add &#8220;Unknown&#8221; as an option for <strong>Priority</strong>. If you simply type it at the bottom of the list, it falls outside of the named range and won&#8217;t be reflected in your dropdowns. Two different ways to work around this:</p>
<ul>
<li>After adding the value, edit the named range (<strong>Formulas » Defined Names » Name Manager</strong>) to include the additional cell</li>
<li><em>Before</em> adding the value, select the bottom value in the current list, right-click, and select <strong>Insert » Shift cells down » OK</strong>.<img class="aligncenter size-full wp-image-1312" title="datavalidation8" src="http://www.gilliganondata.com/wp-content/uploads/2011/05/datavalidation8.png" alt="" width="192" height="116" />This will have effectively expanded the named range by a cell. You can then either add the new value in the blank cell or copy and paste the &#8220;bottom&#8221; value (&#8220;Low&#8221; in this case) into the blank cell and then enter the new value into the bottom cell</li>
</ul>
<p>Both of these approaches are a little bit clunky, so let&#8217;s add a twist to make the named ranges a bit more elegant&#8230;</p>
<h3>Data Validation with Named Ranges with a Clever Twist</h3>
<p><em>[Update: See the first comment below -- from Julien. As he notes, the formula described here is a little messy, and he proposes a cleaner solution. I'm leaving my original approach here to provide a "multiple ways to skin a cat" demonstration...but I expect I'll be using the approach described in the comment.]</em></p>
<p>This is simply a couple of additional steps beyond the steps described in the previous section to make the named ranges a little smarter:</p>
<ol>
<li>Select <strong>Formulas » Defined Names » Name Manager</strong></li>
<li>Select <strong>List_Priority</strong> and click <strong>Edit </strong>to see the current definition<img class="aligncenter size-full wp-image-1313" title="datavalidation9" src="http://www.gilliganondata.com/wp-content/uploads/2011/05/datavalidation9.png" alt="" width="308" height="234" /></li>
<li>Replace the <strong>Refers to:</strong> formula with the following formula:</li>
</ol>
<blockquote><p>=OFFSET(Lookups!$A$2,0,0,COUNTA(Lookups!$A:$A)-1)</p></blockquote>
<p><img class="aligncenter size-full wp-image-1314" title="datavalidation10" src="http://www.gilliganondata.com/wp-content/uploads/2011/05/datavalidation10.png" alt="" width="392" height="261" /></p>
<p>And, <em>voila!</em> You can now go nuts with adding and removing values from the <strong>Priority</strong> list and the dropdowns will have updated values with no additional effort!</p>
<p>To do the same for the <strong>List_Status</strong> named range, the formula you would use for the named range would be:</p>
<blockquote><p>=OFFSET(Lookups!$B$2,0,0,COUNTA(Lookups!$B:$B)-1)</p></blockquote>
<p>To break down the OFFSET formula usage (using <strong>List_Priority</strong> as the example):</p>
<ul>
<li><strong>Lookups!$A$2</strong>: start at cell $A$2, which is the first value in the list</li>
<li><strong>0</strong>: stay in that same row (so still at $A$2)</li>
<li><strong>0</strong>: stay in that same column (so, again, still at $A$2)</li>
<li><strong>COUNTA(Lookups$A:$A)-1</strong>: count the number of cells in column A that have values and then subtract 1 (the heading cell: &#8220;Priority&#8221;); grab an area that is that tall, starting with the cell currently &#8220;selected&#8221; ($A$2)</li>
</ul>
<p>By checking Excel&#8217;s documentation on the OFFSET function and fiddling around a little bit with the formula, you can see how it&#8217;s working pretty easily.</p>
<h3>Is It Worth the Effort?</h3>
<p>I <em>always</em> use the second option described in this post. You just never know when a hastily hacked together spreadsheet will get &#8220;legs&#8221; and start growing and expanding its footprint. Better to spend an extra 10 seconds to add flexibility and maintainability.</p>
<p>Will I use the third option? I might. We&#8217;ll see. It didn&#8217;t occur to me that I should even try until I showed my co-worker the second option&#8230;and then watched her immediately get tripped up trying to add a new value to the list. If I&#8217;m handing off a document where flexibility in the dropdown values is needed, I might just Google my way back to this post to see how it&#8217;s done!</p>
<p>&nbsp;</p>
<hr />
<p><small>&copy; Tim for <a href="http://www.gilliganondata.com">Gilligan on Data by Tim Wilson</a>, 2011. |
<a href="http://www.gilliganondata.com/index.php/2011/05/10/excel-dropdowns-done-right-data-validation-and-named-ranges/">Permalink</a> |
<a href="http://www.gilliganondata.com/index.php/2011/05/10/excel-dropdowns-done-right-data-validation-and-named-ranges/#comments">9 comments</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.gilliganondata.com/index.php/2011/05/10/excel-dropdowns-done-right-data-validation-and-named-ranges/&amp;title=Excel Dropdowns Done Right: Data Validation and Named Ranges">del.icio.us</a>
<br/>
Post tags: <a href="http://www.gilliganondata.com/index.php/tag/data-validation/" rel="tag">data validation</a>, <a href="http://www.gilliganondata.com/index.php/tag/dropdown/" rel="tag">dropdown</a>, <a href="http://www.gilliganondata.com/index.php/tag/named-ranges/" rel="tag">named ranges</a>, <a href="http://www.gilliganondata.com/index.php/tag/offset/" rel="tag">OFFSET</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gilliganondata.com/index.php/2011/05/10/excel-dropdowns-done-right-data-validation-and-named-ranges/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Excel Dynamic Named Ranges Redux &#8212; Multiple Series in One Chart</title>
		<link>http://www.gilliganondata.com/index.php/2011/03/14/excel-dynamic-named-ranges-redux-multiple-series-in-one-chart/</link>
		<comments>http://www.gilliganondata.com/index.php/2011/03/14/excel-dynamic-named-ranges-redux-multiple-series-in-one-chart/#comments</comments>
		<pubDate>Mon, 14 Mar 2011 16:14:27 +0000</pubDate>
		<dc:creator>Tim Wilson</dc:creator>
				<category><![CDATA[Excel]]></category>
		<category><![CDATA[bar charts]]></category>
		<category><![CDATA[dynamic ranges]]></category>

		<guid isPermaLink="false">http://www.gilliganondata.com/?p=1145</guid>
		<description><![CDATA[In one of the more consistently popular posts I’ve written, I went into detail about how to set up charts that would update based on a value selected from a couple of dropdown menus – specifically geared towards a dropdown menu that allows the selection of a date such that …]]></description>
			<content:encoded><![CDATA[<p>In one of the more consistently popular posts I’ve written, I went into detail about <span style="text-decoration: underline;"><a title="Excel and Dynamic Named Ranges" href="http://www.gilliganondata.com/index.php/2010/08/17/excel-dynamic-named-ranges-never-manually-updating-your-charts-2/">how to set up charts that would update based on a value selected from a couple of dropdown menus</a></span> – specifically geared towards a dropdown menu that allows the selection of a date such that the chart(s) would update to reflect the data up to that date.</p>
<p>One of the commenters asked how to include multiple data series in a single chart using that same technique. I did a very quick example via email, but I mentally committed to documenting the specifics on the blog, so here we go (file download at the end of this post).</p>
<h3>Add Some Data</h3>
<p>I could, of course, just use the data I was already working with, but none of that fictitious data made sense as a stacked bar chart. So, the first step is to add a couple of data series that might reasonably belong in a stacked column chart – an easy one is to break out the web traffic into “New Visitors” versus “Returning Visitors.”</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1146" title="dynamic2_addedcolumns" src="http://www.gilliganondata.com/wp-content/uploads/2011/03/dynamic2_addedcolumns.png" alt="" width="500" height="454" /></p>
<p>Following the same technique as described in the original post, I name the top cells <strong>NewVisitors_Current</strong> (Column E) and <strong>ReturningVisitors_Current</strong> (Column F) and copy the formula from the Web Traffic column into those two columns (it’s the same formula in all cells in row 1, and they can be copied without modification due to the use of “COLUMN()” in the formula).</p>
<p>Then, create <strong>NewVisitors_Range</strong> and <strong>ReturningVisitors_Range</strong> named ranges by going to <strong>Formulas » Name Manager</strong>, copying the formula for <strong>WebTraffic_Range</strong>, and then creating the two new named ranges using the same formula, except swapping out “WebTraffic” in the formula with “NewVisitors” and “ReturningVisitors.”</p>
<p><strong>Note:</strong> This may seem like a complicated setup. It’s actually pretty quick and simple, and can even be achieved using a macro if there are a slew of metrics that need to be set up. One tip, though, is to establish a consistent naming convention for the different aspects of each metric.</p>
<p>So, enough with the seup. How do we put multiple series into a stacked bar chart?</p>
<h3>Copy One of the Line Charts</h3>
<p>The easiest way to get our base chart is to simply hold down <em>&lt;Ctrl&gt;-&lt;Shift&gt;</em> and click and drag one of the existing charts straight down on the worksheet. I’m a fan of copying charts rather than making new charts from scratch for two reasons: 1) It’s easier to keep them aligned and exactly the same size, and 2) It’s easier to keep the formatting the same (the formatting in this example is horrid, but that was for the sake of simplicity in the initial tutorial).</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1147" title="dynamic2_copychart" src="http://www.gilliganondata.com/wp-content/uploads/2011/03/dynamic2_copychart.png" alt="" width="382" height="351" /></p>
<p>So, now we have two charts (I copied the date and “current total” cells as well, but we’re pretty much done there now – in this case, the current total uses the “Web Traffic” value, and it’s the sum of the New Visitors and Returning Visitors):</p>
<h3>Change the Chart Type</h3>
<p>Select the chart and then go to <strong>Chart Tools » Design » Change Chart Type</strong> and select the <strong>Stacked Column</strong> chart type:</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1148" title="dynamic2_stackedcolumn" src="http://www.gilliganondata.com/wp-content/uploads/2011/03/dynamic2_stackedcolumn.png" alt="" width="500" height="339" /></p>
<p>You will now have a chart that looks like this:</p>
<p><img class="aligncenter size-full wp-image-1149" title="dynamic2_columnchart" src="http://www.gilliganondata.com/wp-content/uploads/2011/03/dynamic2_columnchart.png" alt="" width="381" height="164" /></p>
<p>But, this is still only one data series, and it’s the overall web traffic – not the breakout of new visitors and returning visitors. So…</p>
<h3>Update the Data Series</h3>
<p>Click on the columns in the chart, and a formula will appear in the formula bar (it&#8217;s not you&#8230;it&#8217;s a small image; image width constraints I apply to this blog, but you get the idea):</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1150" title="dynamic2_changeseriesdata" src="http://www.gilliganondata.com/wp-content/uploads/2011/03/dynamic2_changeseriesdata.png" alt="" width="500" height="43" /></p>
<p>There are other ways to update the data, but this is the fastest when it’s a viable option. Simply change the first “Web Traffic,” which is the name of the data series, to “New Visitors.” Then, change “WebTraffic” later in the formula to “NewVisitors”. What you’re really doing with this second change is changing the data source from “WebTraffic_Range” to “NewVisitors_Range”.</p>
<p>The chart will update and will look like this:</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1151" title="dynamic2_columnchart_newvisitors" src="http://www.gilliganondata.com/wp-content/uploads/2011/03/dynamic2_columnchart_newvisitors.png" alt="" width="373" height="149" /></p>
<p>Now, since we’re going to have two series on this chart, let’s go ahead and click on the column title and change it to “Web Traffic” manually (when you changed &#8220;Web Traffic&#8221; to &#8220;New Visitors&#8221; in the formula bar, you were changing the <em>series</em> name &#8212; Excel just noticed that you had only one series and no legend, so it decided to make that the <em>chart title</em>, too; you&#8217;ll still want the series name to be &#8220;New Visitors,&#8221; though; the reason should become apparent shortly&#8230;like&#8230;after the next sentence!). And, while we’re at it, let’s add a legend and make the chart a bit taller to make room for it!</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1154" title="dynamic2_columnchart_newvisitors_legend" src="http://www.gilliganondata.com/wp-content/uploads/2011/03/dynamic2_columnchart_newvisitors_legend.png" alt="" width="380" height="199" /></p>
<h3>Add the Second Series</h3>
<p>Now, here’s where the fun happens. Right-click in the chart and select <strong>Select Data</strong>. Then, select <strong>New Visitors</strong> and click the <strong>Edit</strong> button. You’re not actually going to edit that data series, but it’s the fastest way to get the second series set up. In the <strong>Edit</strong> dialog box, select the <em>entire</em> contents of the <strong>Series values</strong> field and select <em>&lt;Ctrl&gt;-&lt;C&gt;</em> to copy the formula:</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1155" title="dynamic2_editseries" src="http://www.gilliganondata.com/wp-content/uploads/2011/03/dynamic2_editseries.png" alt="" width="337" height="161" /></p>
<p>Click <strong>Cancel</strong>.</p>
<p>Click <strong>Add</strong>.</p>
<p>For the <strong>Series name</strong> enter “Returning Visitors” and then paste the formula (<em>&lt;Ctrl&gt;-&lt;V&gt;</em>) you just copied into the <strong>Series values</strong> field. Then, scroll to the end of that formula and replace “New” with “Returning”:</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1156" title="dynamic2_addseries" src="http://www.gilliganondata.com/wp-content/uploads/2011/03/dynamic2_addseries.png" alt="" width="330" height="161" /></p>
<p>Click <strong>OK</strong> and then click <strong>OK</strong> again on the next screen.</p>
<p>Voila!</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1157" title="dynamic2_finalchart" src="http://www.gilliganondata.com/wp-content/uploads/2011/03/dynamic2_finalchart.png" alt="" width="366" height="205" /></p>
<p>Still, as before, you can change the <strong>Report Period</strong> and the <strong>Report Range</strong> dropdowns to alter what data gets displayed on the chart.</p>
<p>You can <a title="Download this example" href="http://www.gilliganondata.com/files/DynamicCharts_Stacked_Example.xlsx">download the spreadsheet with the full example</a> if you want to fiddle around with it without starting from scratch.</p>
<p>Happy charting!</p>
<p>&nbsp;</p>
<p>&nbsp;<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.gilliganondata.com/index.php/2010/08/17/excel-dynamic-named-ranges-never-manually-updating-your-charts-2/" rel="bookmark" title="August 17, 2010">Excel Dynamic Named Ranges = Never Manually Updating Your Charts</a></li>
</ul>
<p><!-- Similar Posts took 20.998 ms --></p>
<hr />
<p><small>&copy; Tim for <a href="http://www.gilliganondata.com">Gilligan on Data by Tim Wilson</a>, 2011. |
<a href="http://www.gilliganondata.com/index.php/2011/03/14/excel-dynamic-named-ranges-redux-multiple-series-in-one-chart/">Permalink</a> |
<a href="http://www.gilliganondata.com/index.php/2011/03/14/excel-dynamic-named-ranges-redux-multiple-series-in-one-chart/#comments">2 comments</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.gilliganondata.com/index.php/2011/03/14/excel-dynamic-named-ranges-redux-multiple-series-in-one-chart/&amp;title=Excel Dynamic Named Ranges Redux &#8212; Multiple Series in One Chart">del.icio.us</a>
<br/>
Post tags: <a href="http://www.gilliganondata.com/index.php/tag/bar-charts/" rel="tag">bar charts</a>, <a href="http://www.gilliganondata.com/index.php/tag/dynamic-ranges/" rel="tag">dynamic ranges</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gilliganondata.com/index.php/2011/03/14/excel-dynamic-named-ranges-redux-multiple-series-in-one-chart/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Data Visualization Tips and Concepts (Monish Datta calls it &#8220;stellar&#8221;)*</title>
		<link>http://www.gilliganondata.com/index.php/2010/09/26/data-visualization-tips-and-concepts-monish-datta-calls-it-stellar/</link>
		<comments>http://www.gilliganondata.com/index.php/2010/09/26/data-visualization-tips-and-concepts-monish-datta-calls-it-stellar/#comments</comments>
		<pubDate>Sun, 26 Sep 2010 22:43:58 +0000</pubDate>
		<dc:creator>Tim Wilson</dc:creator>
				<category><![CDATA[Data Visualization]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Web Analytics]]></category>
		<category><![CDATA[color blind]]></category>
		<category><![CDATA[dashboards]]></category>
		<category><![CDATA[infographics]]></category>
		<category><![CDATA[sparklines]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.gilliganondata.com/?p=874</guid>
		<description><![CDATA[Columbus Web Analytics Wednesday was sponsored by Resource Interactive last week, and it was, as usual, a fun and engaging event: We tried a new venue &#8212; the Winking Lizard on Bethel Road &#8212; and were pretty pleased with the accommodations (private room, private bar, very reasonable prices), so I …]]></description>
			<content:encoded><![CDATA[<p>Columbus Web Analytics Wednesday was sponsored by <a title="Resource Interactive" href="http://www.resource.com" target="_blank">Resource Interactive</a> last week, and it was, as usual, a fun and engaging event:</p>
<p style="text-align: center;"><a title="Web Analytics Wednesday -- Attendees settling in by secondtree, on Flickr" href="http://www.flickr.com/photos/secondtree/5026960253/"><img src="http://farm5.static.flickr.com/4091/5026960253_9462d2f861.jpg" alt="Web Analytics Wednesday -- Attendees settling in" width="500" height="332" /></a></p>
<p style="text-align: left;">We tried a new venue &#8212; the <a title="Winking Lizard" href="http://www.winkinglizard.com/" target="_blank">Winking Lizard</a> on Bethel Road &#8212; and were pretty pleased with the accommodations (private room, private bar, very reasonable prices), so I expect we&#8217;ll be back.</p>
<p style="text-align: left;">Relatively new dad Bryan Cristina had a child care conflict with his wife&#8230;so he brought along Isabella (who was phenomenally calm and well-behaved, and is cute as a button!):</p>
<p style="text-align: center;"><a title="Bryan and Isabella by secondtree, on Flickr" href="http://www.flickr.com/photos/secondtree/5027578984/"><img src="http://farm5.static.flickr.com/4104/5027578984_852436594a.jpg" alt="Bryan and Isabella" width="500" height="333" /></a></p>
<p style="text-align: left;">I presented on a topic I&#8217;m fairly passionate about &#8212; data visualization. The presentation was well-received (Monish Datta really did <a title="Monish Datta tweet" href="http://twitter.com/#!/monishd/status/25255255907" target="_blank">tweet that it was &#8220;stellar&#8221;</a>)  and generated a lot of good discussion. I had several requests for copies of the presentation, so I&#8217;ve modified it slightly to make it more Slideshare-friendly and posted it. If you click through on the embedded version below, you can see the notes for each slide by clicking on the &#8220;Notes on Slide X&#8221; tab underneath the slideshow, or you can download the file itself (PowerPoint 2007), which includes notes with each slide (I think you might have to create/login to a Slideshare account, which it looks like you can do quickly using Facebook Connect).</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div id="__ss_5292150" style="width: 425px;"><strong><a title="Data Visualization Tips and Concepts" href="http://www.slideshare.net/tgwilson/waw-sep2010-datavisualizationwithnotes">Data Visualization Tips and Concepts</a></strong><object id="__sse5292150" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=wawsep2010datavisualizationwithnotes-100926155559-phpapp02&amp;stripped_title=waw-sep2010-datavisualizationwithnotes&amp;userName=tgwilson" /><param name="name" value="__sse5292150" /><param name="allowfullscreen" value="true" /><embed id="__sse5292150" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=wawsep2010datavisualizationwithnotes-100926155559-phpapp02&amp;stripped_title=waw-sep2010-datavisualizationwithnotes&amp;userName=tgwilson" allowfullscreen="true" allowscriptaccess="always" name="__sse5292150"></embed></object>&nbsp;</p>
<div style="padding: 5px 0 12px;">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/tgwilson">Tim Wilson</a>.</div>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p style="text-align: left;">I had fun putting the presentation together, as this is definitely a topic that I&#8217;m passionate about!</p>
<p style="text-align: left;">* The &#8220;Monish Datta&#8221; reference in the title of this post, while accurate, is driven by my never-ending quest to dominate search rankings for searches for Monish. I&#8217;m doing okay, but not exactly dominating.</p>
<p><script src="http://b.scorecardresearch.com/beacon.js?c1=7&amp;c2=7400849&amp;c3=1&amp;c4=&amp;c5=&amp;c6="></script><strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.gilliganondata.com/index.php/2008/08/27/dashboard-design-part-3-of-3-an-iterative-tale/" rel="bookmark" title="August 27, 2008">Dashboard Design Part 3 of 3: An Iterative Tale</a></li>
<li><a href="http://www.gilliganondata.com/index.php/2009/11/16/an-excel-dashboard-widget/" rel="bookmark" title="November 16, 2009">An Excel Dashboard Widget</a></li>
<li><a href="http://www.gilliganondata.com/index.php/2008/08/26/dashboard-design-part-2-of-3-an-iterative-tale/" rel="bookmark" title="August 26, 2008">Dashboard Design Part 2 of 3: An Iterative Tale</a></li>
<li><a href="http://www.gilliganondata.com/index.php/2008/08/25/dashboard-design-part-1-of-3-an-iterative-tale/" rel="bookmark" title="August 25, 2008">Dashboard Design Part 1 of 3: An Iterative Tale</a></li>
<li><a href="http://www.gilliganondata.com/index.php/2008/04/30/the-action-dashboard-avinash-mounts-my-favorite-soapbox/" rel="bookmark" title="April 30, 2008">The &#8220;Action Dashboard&#8221; &#8212; Avinash Mounts My Favorite Soapbox</a></li>
</ul>
<p><!-- Similar Posts took 36.006 ms --></p>
<hr />
<p><small>&copy; Tim for <a href="http://www.gilliganondata.com">Gilligan on Data by Tim Wilson</a>, 2010. |
<a href="http://www.gilliganondata.com/index.php/2010/09/26/data-visualization-tips-and-concepts-monish-datta-calls-it-stellar/">Permalink</a> |
<a href="http://www.gilliganondata.com/index.php/2010/09/26/data-visualization-tips-and-concepts-monish-datta-calls-it-stellar/#comments">No comment</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.gilliganondata.com/index.php/2010/09/26/data-visualization-tips-and-concepts-monish-datta-calls-it-stellar/&amp;title=Data Visualization Tips and Concepts (Monish Datta calls it &#8220;stellar&#8221;)*">del.icio.us</a>
<br/>
Post tags: <a href="http://www.gilliganondata.com/index.php/tag/color-blind/" rel="tag">color blind</a>, <a href="http://www.gilliganondata.com/index.php/tag/dashboards/" rel="tag">dashboards</a>, <a href="http://www.gilliganondata.com/index.php/tag/infographics/" rel="tag">infographics</a>, <a href="http://www.gilliganondata.com/index.php/tag/sparklines/" rel="tag">sparklines</a>, <a href="http://www.gilliganondata.com/index.php/tag/tips/" rel="tag">tips</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gilliganondata.com/index.php/2010/09/26/data-visualization-tips-and-concepts-monish-datta-calls-it-stellar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Excel Dynamic Named Ranges = Never Manually Updating Your Charts</title>
		<link>http://www.gilliganondata.com/index.php/2010/08/17/excel-dynamic-named-ranges-never-manually-updating-your-charts-2/</link>
		<comments>http://www.gilliganondata.com/index.php/2010/08/17/excel-dynamic-named-ranges-never-manually-updating-your-charts-2/#comments</comments>
		<pubDate>Tue, 17 Aug 2010 16:48:33 +0000</pubDate>
		<dc:creator>Tim Wilson</dc:creator>
				<category><![CDATA[Excel]]></category>
		<category><![CDATA[dynamic ranges]]></category>
		<category><![CDATA[INDEX]]></category>
		<category><![CDATA[match]]></category>
		<category><![CDATA[VLOOKUP]]></category>

		<guid isPermaLink="false">http://www.gilliganondata.com/?p=820</guid>
		<description><![CDATA[[Update: This post is about dynamic named ranges in Excel 2007. I'm seeing a lot of referral traffic to this post searching for Excel 2010. If you're simply looking for where you define or modify named ranges in Excel 2010 (as one commenter indicated in response to an earlier version …]]></description>
			<content:encoded><![CDATA[<p><em>[Update: This post is about dynamic named ranges in Excel 2007. I'm seeing a lot of referral traffic to this post searching for Excel 2010. If you're simply looking for where you define or modify named ranges in Excel 2010 (as one commenter indicated in response to an earlier version of this update), it's on the <strong>Formulas</strong> tab in the <strong>Defined Names</strong> area -- <strong>Name Manager</strong>. If you are looking for other Excel 2010-specific information that this post doesn't cover, please leave a quick comment as to what the change/issue is that led you to the search. Thanks.]</em></p>
<p>I&#8217;ve had a pretty good run of theoretical posts about the nature of marketing measurement of late, so it seemed like I was due for a more down-in-the-weeds-Excel-efficiency-tactics write-up.  This blog isn&#8217;t really focussed on all of the myriad ways that Excel can be contorted to represent data effectively, but I&#8217;m a big believer in using tools as effectively as possible to remove as much rote report generation as possible. There are lots of blogs devoted entirely to Excel tips and tricks. My favorite on that front is Jon Peltier&#8217;s (if you get intrigued by this post, hop over and peruse a <a title="Jon Peltier Dynamic and Interactive Charts" href="http://peltiertech.com/Excel/Charts/Dynamics.html" target="_blank">slew of other ways to have charts dynamically update</a>).</p>
<p>This post describes (and includes a downloadable file of the example) a technique that we use extensively to make short work of updating recurring reports. Here are the criteria I was working against:</p>
<ul>
<li>User-selectable report date</li>
<li>User-selectable range of data to include in the chart</li>
<li>Single date/range selection to update multiple charts at once</li>
<li>No need to touch the chart itself</li>
<li>Reporting of the most recent value (think sparklines, where you want to show the last <em>x</em> data values in a small chart, and then report the last value explicitly as a number)</li>
<li>No use of third-party plug-ins &#8212; one of these days, I&#8217;ll get around to playing with the various Excel add-ons like those offered by <a title="Tableau Software" href="http://www.tableausoftware.com" target="_blank">Tableau Software</a> and <a title="XLCubed" href="http://www.xlcubed.com" target="_blank">XLCubed</a> (or even the <a title="Peltier Tech" href="http://peltiertech.com/Utility/" target="_blank">Peltier Tech</a> add-ins, which are targeted but made by one of the top 3 most authoritative Excel resources on the &#8216;net), but that adds just the slightest of barriers and, again, isn&#8217;t needed for this exercise</li>
<li>No macros used &#8212; I don&#8217;t have anything against macros, but they introduce privacy concerns, version compatibility, odd little warnings, and, in this case, aren&#8217;t needed</li>
</ul>
<p>The example shown here is pretty basic, but the approach scales really well.</p>
<p>Sound like fun?</p>
<h3>Setting Up the Basics</h3>
<p>One key here is to separate the <em>presentation layer</em> from the <em>data layer</em>. I like to just have the first worksheet as the presentation layer &#8212; let&#8217;s name it <strong>Dashboard</strong> &#8212; and the second worksheets as the data layer &#8212; let&#8217;s call that <strong>Data</strong>. (<strong>Note:</strong> I abhor many, many things about Excel&#8217;s default settings, but, to keep the example as familiar as possible, I&#8217;m going to leave those alone. This basic approach is one of the core components in the dashboards I work on every day, and it can be applied to a much more robust visualization of data than is represented here. See <em><a title="An Excel Dashboard Widget" href="http://www.gilliganondata.com/index.php/2009/11/16/an-excel-dashboard-widget/">An Excel Dashboard Widget</a></em> for a look at my thoughts on dashboard visualization.)</p>
<h3>Data Tab Setup &#8212; Part 1</h3>
<p>This is a slightly iterative process that starts with the setup of the <strong>Data</strong> tab. On that worksheet, we&#8217;ll use the first column to list our dates &#8212; these could be days, weeks, months, whatever (they can be changed at any time and the whole approach still works). For the purposes of this example, we&#8217;ll go with months. Let&#8217;s leave the first row alone &#8212; this is where we will populate the &#8220;current value,&#8221; which we&#8217;ll get to later. I like to use a simple shading schema to clearly denote which cells will get updated with data and which ones never really need to be touched. And, in this example, let&#8217;s say we&#8217;ve got three different metrics that we&#8217;re updating: Revenue, Orders, and Web Visits. This approach can be scaled to include dozens of metrics, but three should illustrate the point. That leaves us with a <strong>Data </strong>tab that looks like this:</p>
<p><img class="aligncenter size-full wp-image-821" title="dynamic_1_data_base" src="http://www.gilliganondata.com/wp-content/uploads/2010/08/dynamic_1_data_base.png" alt="" width="496" height="554" /></p>
<p>While we&#8217;re on this tab, we should go ahead and defined some named cells and some named ranges. We&#8217;ll name the cell in the first row of each metric column as the current value for that metric (the cells don&#8217;t <em>have</em> to be named cells, but it makes for easier, safer updating of the dashboard as the complexity grows). Name each cell by clicking on the cell, then clicking in the cell address at the top left and typing in the cell name. It&#8217;s important to have consistent naming conventions, so we&#8217;ll go with <em><strong>&lt;metric&gt;</strong></em><strong>_Current</strong> for this (it works out to have the metric identified first, with the qualifier/type after &#8212; just trust me!). The screen capture below shows this being done for the cell where the current value for <strong>Orders </strong>will go, but this needs to be done for <strong>Revenue</strong> and <strong>Web Traffic</strong> as well (I just remove the space for Web Traffic &#8212; <strong>WebTraffic_Current</strong>).</p>
<p><img class="aligncenter size-full wp-image-822" title="dynamic_2_namedcells" src="http://www.gilliganondata.com/wp-content/uploads/2010/08/dynamic_2_namedcells.png" alt="" width="480" height="190" /></p>
<p>And, we&#8217;re definitely going to want to have the whole range of data on the tab available to us. Let&#8217;s call this <strong>MainData</strong> and define it by going to <strong>Formulas » Name Manager</strong> and clicking on <strong>New</strong> (this is Excel 2007 &#8212; it&#8217;s somewhere else easier to find in Excel 2003). Define a new range with a <strong>Workbook</strong> scope that encompasses all the columns and all of the rows of data (starting at row 3):</p>
<p><img class="aligncenter size-full wp-image-824" title="dynamic_3_maindata" src="http://www.gilliganondata.com/wp-content/uploads/2010/08/dynamic_3_maindata.png" alt="" width="562" height="311" /></p>
<p>There are lots of ways to dynamically define <strong>MainData</strong>. You can just drag a big area if you want, but this is a slightly more elegant approach. I&#8217;m not going to go into the nuts and bolts of why this formula works, but you can look up the OFFSET and COUNTA functions and figure it out if you&#8217;re so inclined:</p>
<blockquote><p>=OFFSET(Data!$A$3,0,0,COUNTA(Data!$A:$A)-2,COUNTA(Data!$2:$2))</p></blockquote>
<p>We&#8217;ll also want a named range that just includes the list of months &#8212; create that the same way as <strong>MainData</strong>, but call it <strong>DateSelector</strong> and use a slightly different formula: ﻿﻿</p>
<blockquote><p>=OFFSET(Data!$A$3,0,0,COUNTA(Data!$A:$A)-2,1)</p></blockquote>
<p><img class="aligncenter size-full wp-image-823" title="dynamic_3_1_dataselector" src="http://www.gilliganondata.com/wp-content/uploads/2010/08/dynamic_3_1_dataselector.png" alt="" width="562" height="311" /></p>
<p>And, of course, we&#8217;ll actually need data &#8212; this would come later, but I&#8217;ve gone ahead and dropped some fictitious stuff in there:</p>
<p><img class="aligncenter size-full wp-image-825" title="dynamic_4_data" src="http://www.gilliganondata.com/wp-content/uploads/2010/08/dynamic_4_data.png" alt="" width="486" height="572" /></p>
<p>That&#8217;s it for the <strong>Data</strong> tab for now&#8230;but we&#8217;ll be back!</p>
<h3>Dashboard Tab Setup &#8212; Part 1</h3>
<p>Now we jump over to the <strong>Dashboard</strong> worksheet and set up a couple of dropdowns &#8212; one is the report period selector, and the other is the report range (how many months to include in the chart) selector. Start by setting up some labels with dropdowns (I normally put these off to the side and outside the print range&#8230;but that doesn&#8217;t sit nice with the screen resolution I like to work with on this blog):</p>
<p><img class="aligncenter size-full wp-image-826" title="dynamic_5_dashboardbasic" src="http://www.gilliganondata.com/wp-content/uploads/2010/08/dynamic_5_dashboardbasic.png" alt="" width="414" height="192" /></p>
<p>Then, set up the dropdowns using Excel data validation:</p>
<p>First, the report period. Click in cell C1, select <strong>Data » Data Validation</strong>, choose <strong>List</strong>, and then reference the named range of months we set up earlier, <strong>DateSelector</strong>:</p>
<p><img class="aligncenter size-full wp-image-827" title="dynamic_6_dateselector" src="http://www.gilliganondata.com/wp-content/uploads/2010/08/dynamic_6_dateselector.png" alt="" width="539" height="395" /></p>
<p>When you click <strong>OK</strong>, you will have a dropdown in cell C1 that contains all of the available months. This is a critical cell &#8212; it&#8217;s what we&#8217;ll use to select the date we want to key off of for reporting, and it&#8217;s what we&#8217;ll use to look up the data. So, we need to make it a named cell &#8212; <strong>ReportPeriod</strong>:</p>
<p><img class="aligncenter size-full wp-image-828" title="dynamic_7_reportperiod" src="http://www.gilliganondata.com/wp-content/uploads/2010/08/dynamic_7_reportperiod.png" alt="" width="377" height="156" /></p>
<p>Now, let&#8217;s do a similar operation for the report range &#8212; this tells the spreadsheet how many months to include in each chart. Click in cell C3, select <strong>Data » Data Validation</strong>, choose <strong>List</strong>, and then enter the different values you want as options (I&#8217;ve used 3, 6, 9, and 12 here, but any list of integers will work):</p>
<p><img class="aligncenter size-full wp-image-829" title="dynamic_8_reportrange" src="http://www.gilliganondata.com/wp-content/uploads/2010/08/dynamic_8_reportrange.png" alt="" width="539" height="395" /></p>
<p>And, let&#8217;s name <em>that</em> cell <strong>ReportRange</strong>:</p>
<p><img class="aligncenter size-full wp-image-830" title="dynamic_9_reportrangename" src="http://www.gilliganondata.com/wp-content/uploads/2010/08/dynamic_9_reportrangename.png" alt="" width="377" height="157" /></p>
<p>Does this seem like a lot of work? It can be a bit of a hassle on the initial setup, but it will pay huge dividends as the report gets updated each day, week, or month. Trust me!</p>
<p>Before we leave this tab, go ahead and select a value in each dropdown &#8212; this will make it easier to check the formulas in the next step.</p>
<p><img class="aligncenter size-full wp-image-831" title="dynamic_10_selections" src="http://www.gilliganondata.com/wp-content/uploads/2010/08/dynamic_10_selections.png" alt="" width="320" height="116" /></p>
<h3>Data Tab Setup &#8212; Part 2</h3>
<p>Now is where the fun begins. We&#8217;re going to go back over to the <strong>Data </strong>worksheet and start setting up some additional named ranges. We&#8217;ve got <strong>MainData</strong>, which is the full range of data. We want to look at the currently selected <strong>Report Period</strong> (a named range called <strong>ReportPeriod</strong>) and find the value for each metric that is in the same row as that report period. That will give us the &#8220;Current&#8221; value for each metric. All you need to do is put the <em>exact same formula</em> in each of the three &#8220;Current&#8221; cells:</p>
<blockquote><p>=VLOOKUP(ReportPeriod,MainData,COLUMN())</p></blockquote>
<p>In this example, these are the values for each of the three arguments:</p>
<ul>
<li><strong>ReportPeriod </strong>&#8211; Jul-09, the value we selected on the <strong>Dashboard</strong> tab</li>
<li><strong>MainData</strong> &#8212; this is the full set of data, including the list of months in column A</li>
<li><strong>COLUMN()</strong> &#8212; this is 2, the column that the current metric is listed in (this function resolves to &#8220;3&#8243; for <strong>Orders </strong>and to &#8220;4&#8243; for <strong>Web Traffic</strong>)</li>
</ul>
<p>So, the formula simply takes the currently selected month, finds the row with that value in the data array, and then moves over to the column that matches the current column of the formula:</p>
<p><img class="aligncenter size-full wp-image-832" title="dynamic_11_vlookup" src="http://www.gilliganondata.com/wp-content/uploads/2010/08/dynamic_11_vlookup.png" alt="" width="486" height="420" /></p>
<p>Slick, huh? And, because the <strong>ReportPeriod</strong> data validation dropdown on the <strong>Dashboard</strong> worksheet is referencing the <em>first column of the data</em><strong> </strong>on the <strong>Data</strong> tab, the VLOOKUP will always be able to find a matching value. (Read that last sentence again if it didn&#8217;t sink in &#8212; it&#8217;s a nifty little way of ensuring the robustness of the report)</p>
<p>This little bit of cleverness is really just a setup for the next step, which is setting up the data <em>ranges</em> that we&#8217;re going to chart. Conceptually, it&#8217;s very similar to what we did to find the current metric value, but we want to select the range of data that <em>ends</em> with that value and goes <em>backwards<strong> </strong><span style="font-style: normal;">by the number of months specified by <strong>ReportRange</strong>. So, in the values we selected above, Jul-09 and &#8220;6,&#8221; we basically want to be able to chart the following range of data:</span></em></p>
<p><img class="aligncenter size-full wp-image-833" title="dynamic_12_chartranges" src="http://www.gilliganondata.com/wp-content/uploads/2010/08/dynamic_12_chartranges.png" alt="" width="484" height="350" /></p>
<p><em><span style="font-style: normal;">We&#8217;ll do this by defining a named range called <strong>Revenue_Range</strong> (note how this has a similar naming convention to <strong>Revenue_Current</strong>, the name we gave the cell with the single value &#8212; this comes in handy for keeping track of things when setting up the dashboard). We can&#8217;t use VLOOKUP, because that function doesn&#8217;t really work with arrays and ranges of data. Instead, we&#8217;ll use a combination of the MATCH function (which is sort of like VLOOKUP on steroids) and the INDEX function (which is a handy way to grab a range of cells). Pull your hat down and fasten your seatbelt, as this one gets a little scary. Ultimately, the formula looks like this:</span></em></p>
<blockquote><p>=INDEX(MainData,MATCH(ReportPeriod,DateSelector)-ReportRange+1, COLUMN(Revenue_Current)):INDEX(MainData, MATCH(ReportPeriod,DateSelector), COLUMN(Revenue_Current))</p></blockquote>
<p>It&#8217;s really not that bad when you break it down. I promise!</p>
<p>Working from the outside in, you&#8217;ve got a couple of INDEX() functions. Think of those as being INDEX(First Cell) and INDEX(Last Cell).</p>
<p><img class="aligncenter size-full wp-image-834" title="dynamic_13_index" src="http://www.gilliganondata.com/wp-content/uploads/2010/08/dynamic_13_index.png" alt="" width="484" height="350" /></p>
<p>The range is defined, in pseudocode, as simply:</p>
<blockquote><p>=INDEX(First Cell):INDEX(Last Cell)</p></blockquote>
<p><em><span style="font-style: normal;">The Last Cell calculation is slightly simpler to understand. As a matter of fact, this is really just trying to identify the </span>cell location</em> (not the value <em>in</em> the cell) of the current value for revenue &#8212; very similar to what we did with the VLOOKUP function earlier. The INDEX function has three arguments: INDEX(array,row_num,column_num). Here&#8217;s how those are getting populated:</p>
<ul>
<li><strong>array</strong> &#8212; this is simply set to <strong>MainData</strong>, the full range of data</li>
<li><strong>row_num</strong> &#8212; this is the row number <em>within the array</em> that we want to use; we&#8217;ll come back to that in just a minute</li>
<li><strong>column_num</strong> &#8212; we use a similar trick that we used on the <strong>Revenue_Current</strong> function, in that we use the COLUMN() formula; but, since we set up this range simply as a named range (as opposed to being a value in a cell), we can&#8217;t leave the value of the function blank; so, we populate the function with the argument of <strong>Revenue_Current</strong> &#8212; we want to grab the column that is the same column as where the current revenue value is populated in the top row.</li>
</ul>
<p>Now, back to how we determine the <strong>row_num</strong> value. We do this using the MATCH function, which we need to use on a 1-dimensional array rather than a 2-dimensional array (<strong>MainData </strong>is a 2-dimensional array). All we want this function to return is the number of the row in the <strong>MainData</strong> array for the currently selected report period, which, as it turns out, is the same row as the currently selected report period in the <strong>DataSelector</strong> range. The formula is pretty simple:</p>
<blockquote><p>MATCH(ReportPeriod,DateSelector)</p></blockquote>
<p><img class="aligncenter size-full wp-image-835" title="dynamic_14_match" src="http://www.gilliganondata.com/wp-content/uploads/2010/08/dynamic_14_match.png" alt="" width="484" height="350" /></p>
<p><em><span style="font-style: normal;">The formula looks in the <strong>DateSelector</strong> range for the <strong>ReportPeriod</strong> value and finds it&#8230;in the seventh row of the array. So, <strong>row_num</strong> is set to 7.</span></em></p>
<p><em><span style="font-style: normal;">INDEX(First Cell) is almost identical to INDEX(Last Cell), except the <strong>row_num</strong> value needs to be set to 2 instead of 7 &#8212; that will make the full range match the <strong>ReportRange</strong> value of 6. So, <strong>row_num</strong> is calculated as:</span></em></p>
<blockquote><p><em><span style="font-style: normal;">MATCH(ReportPeriod,DateSelector)-ReportRange+1</span></em></p></blockquote>
<p>(The &#8220;+1&#8243; is needed because we want the total number of cells included in the range to be <strong>ReportRange</strong> inclusive.)</p>
<p>Now, that&#8217;s not all that scary, is it? We just need to drop the full formula into a named range called <strong>Revenue_Range</strong> by selecting <strong>Formulas » Name Manager » New</strong>, naming the range <strong>Revenue_Range</strong>, and inserting the formula:</p>
<blockquote><p>=INDEX(MainData,MATCH(ReportPeriod,DateSelector)-ReportRange+1, COLUMN(Revenue_Current)):INDEX(MainData, MATCH(ReportPeriod,DateSelector), COLUMN(Revenue_Current))</p></blockquote>
<p><img class="aligncenter size-full wp-image-836" title="dynamic_15_revenuerange" src="http://www.gilliganondata.com/wp-content/uploads/2010/08/dynamic_15_revenuerange.png" alt="" width="472" height="225" /></p>
<p>The whole formula is there, even if you can&#8217;t see it!</p>
<p>Repeat this last step to create two more named ranges with slightly different formulas (the differences are in bold):</p>
<ul>
<li><strong>Orders_Range:</strong> =INDEX(MainData,MATCH(ReportPeriod,DateSelector)-ReportRange+1,COLUMN(<strong>Orders</strong>_Current)):INDEX(MainData,MATCH(ReportPeriod,DateSelector),COLUMN(<strong>Orders</strong>_Current))</li>
<li><strong>WebTraffic_Range:</strong> =INDEX(MainData,MATCH(ReportPeriod,DateSelector)-ReportRange+1,COLUMN(<strong>WebTraffic</strong>_Current)):INDEX(MainData,MATCH(ReportPeriod,DateSelector),COLUMN(<strong>WebTraffic</strong>_Current))</li>
</ul>
<p><strong>Tip:</strong> After creating one of these named ranges, while still in the Name Manager, you can select the range and click into the formula box, and the current range of cells defined by the formula will show up with a blinking dotted line around them.</p>
<p>You&#8217;re getting sooooooo close, so hang in there! In order for the chart labels to show up correctly, we need to make <em>one more</em> named range. We&#8217;ll call it <strong>Date_Range</strong> and define it with the following formula (this is just like the earlier <strong>_Range</strong> formulas, but we know we want to pull the dates from the first column, so, rather than using the COLUMN() formula, we simply use a constant, &#8220;1&#8243;:</p>
<blockquote><p>=INDEX(MainData,MATCH(ReportPeriod,DateSelector)-ReportRange+1,1):INDEX(MainData, MATCH(ReportPeriod,DateSelector),1)</p></blockquote>
<p>If you want, you can fiddle around with the different settings on the <strong>Dashboard</strong> tab and watch how both the &#8220;Current&#8221; values and (if you get into Name Manager) the <strong>_Range</strong> areas change.</p>
<p>OR&#8230;you can move on to the final step, where it all comes together!</p>
<h3>Dashboard Tab Setup &#8212; Part 2 (the final step)</h3>
<p>It&#8217;s back over to the <strong>Dashboard</strong> worksheet to wrap things up.</p>
<p>Insert a 2-D Line chart and resize it to be less than totally obnoxious. It will just be a blank box initially:</p>
<p style="text-align: center;"><a href="http://www.gilliganondata.com/wp-content/uploads/2010/08/dynamic_16_blankchart.png"><img class="alignnone size-full wp-image-837" title="dynamic_16_blankchart" src="http://www.gilliganondata.com/wp-content/uploads/2010/08/dynamic_16_blankchart.png" alt="" width="457" height="312" /></a></p>
<p>Right-click on the chart and select <strong>Select Data</strong>. Click to <strong>Add</strong> a new series and enter &#8220;Revenue&#8221; (without the quotes &#8212; Excel will add those for you) as the series name and the following formula for the series values:</p>
<blockquote><p>﻿=DynamicCharts_Example.xlsx!Revenue_Range</p></blockquote>
<p>(Change the name of the workbook if that&#8217;s not what your workbook is named<strong>)</strong></p>
<p><img class="aligncenter size-full wp-image-838" title="dynamic_17_seriesdata" src="http://www.gilliganondata.com/wp-content/uploads/2010/08/dynamic_17_seriesdata.png" alt="" width="411" height="191" /></p>
<p>Click to edit the axis labels and enter a similar formula:</p>
<blockquote><p>=DynamicCharts_Example.xlsx!Date_Range</p></blockquote>
<p>You will now have an absolutely <em>horrid</em> looking chart (thank you, Excel!):</p>
<p><img class="aligncenter size-full wp-image-839" title="dynamic_18_roughchart" src="http://www.gilliganondata.com/wp-content/uploads/2010/08/dynamic_18_roughchart.png" alt="" width="471" height="326" /></p>
<p>Tighten it up with some level of formatting (if you just can&#8217;t stand to wait, you can go ahead and start flipping the dropdowns to different settings), drop &#8220;=ReportPeriod&#8221; into cell E6 and &#8220;=Revenue_Current&#8221; into cell E7, and you will wind up with something that looks like this:</p>
<p><img class="aligncenter size-full wp-image-840" title="dynamic_19_revenuechart" src="http://www.gilliganondata.com/wp-content/uploads/2010/08/dynamic_19_revenuechart.png" alt="" width="535" height="300" /></p>
<p>Okay, so that still looks pretty horrid&#8230;but this isn&#8217;t a post about data visualization, and I&#8217;m trying to make the example as illustrative as possible. In practice, we use this technique to populate a slew of sparklines (no x-axis labels) and a couple of bar charts, as well as some additional calculated values for each metric.</p>
<p>To add charts for orders and web traffic is a little easier than creating the initial chart. Just copy the Revenue chart a couple of times (if you hold down &lt;Ctrl&gt;-&lt;Shift&gt; and then click and drag the chart it will make a copy and keep that copy aligned with the original chart).</p>
<p>Then, simply click on the data line in the chart and look up at the formula box. You will see a formula that looks something like this:</p>
<blockquote><p>=SERIES(&#8220;<strong>Revenue</strong>&#8220;,DynamicCharts_Example.xlsx!Date_Range, DynamicCharts_Example.xlsx!<strong>Revenue</strong>_Range,1)</p></blockquote>
<p>Change the bolded text, &#8220;Revenue,&#8221; to be &#8220;Orders&#8221; and the chart will update.</p>
<p>Repeat for a Web Traffic chart, and you&#8217;ll wind up with something like this:</p>
<p style="text-align: center;"><a href="http://www.gilliganondata.com/wp-content/uploads/2010/08/dynamic_20_final_1.png"><img class="alignnone size-full wp-image-841" title="dynamic_20_final_1" src="http://www.gilliganondata.com/wp-content/uploads/2010/08/dynamic_20_final_1.png" alt="" width="535" height="720" /></a></p>
<p>And&#8230;for the magic&#8230;</p>
<p>&lt;drum rollllllllllll&gt;</p>
<p>Change the dropdowns and watch the charts update!</p>
<p><img class="aligncenter size-full wp-image-842" title="dynamic_21_final_2" src="http://www.gilliganondata.com/wp-content/uploads/2010/08/dynamic_21_final_2.png" alt="" width="534" height="722" /></p>
<p>So, is it worth it? Not if you&#8217;re going to produce one report a couple of times and move on. But, if you&#8217;re in a situation where you have a lot of recurring, standardized reports (not as mindless report monkeys &#8212; these should be well-structured, well-validated, actionable performance measurement tools), then the payoff will hit pretty quickly. Updating the report is simply a matter of updating the data on the <strong>Data</strong> tab (some of which could even be done automatically, depending on the data source and the API availability), then the <strong>Report Period</strong> dropdown on the <strong>Dashboard</strong> tab can be changed to the new report period, and the charts get automatically updated! You can then spend your time analyzing and interpreting the results. Often, this means going back and digging for more data to supplement the report&#8230;but I&#8217;m teetering on the verge of much larger topic, so I&#8217;ll stop&#8230;</p>
<p>As an added bonus, you can hide the <strong>Data</strong> tab and distribute the spreadsheet itself, enabling your end users to flip back and forth between different date ranges &#8212; a poor man&#8217;s BI tool, if ever there was one (in practice, there will seldom be any real insight gleaned from this limited number of adjustable dropdowns, and that&#8217;s not the reason to set them up in the first place).</p>
<p>I was curious as to what it would take to create this example from scratch and document it as I went. As it&#8217;s turned out, this is a lonnnnnnngggg post. But, if you&#8217;ve skimmed it, get the gist, and want to start fiddling around with the example used here, feel free to <a title="Excel example" onclick="javascript: _gaq.push(['_trackPageview','DynamicCharts_Example.xlsx']);" href="http://www.gilliganondata.com/files/DynamicCharts_Example.xlsx">download it</a>!</p>
<p>Happy dynamic charting!<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.gilliganondata.com/index.php/2011/03/14/excel-dynamic-named-ranges-redux-multiple-series-in-one-chart/" rel="bookmark" title="March 14, 2011">Excel Dynamic Named Ranges Redux &#8212; Multiple Series in One Chart</a></li>
</ul>
<p><!-- Similar Posts took 18.812 ms --></p>
<hr />
<p><small>&copy; Tim for <a href="http://www.gilliganondata.com">Gilligan on Data by Tim Wilson</a>, 2010. |
<a href="http://www.gilliganondata.com/index.php/2010/08/17/excel-dynamic-named-ranges-never-manually-updating-your-charts-2/">Permalink</a> |
<a href="http://www.gilliganondata.com/index.php/2010/08/17/excel-dynamic-named-ranges-never-manually-updating-your-charts-2/#comments">43 comments</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.gilliganondata.com/index.php/2010/08/17/excel-dynamic-named-ranges-never-manually-updating-your-charts-2/&amp;title=Excel Dynamic Named Ranges = Never Manually Updating Your Charts">del.icio.us</a>
<br/>
Post tags: <a href="http://www.gilliganondata.com/index.php/tag/dynamic-ranges/" rel="tag">dynamic ranges</a>, <a href="http://www.gilliganondata.com/index.php/tag/index/" rel="tag">INDEX</a>, <a href="http://www.gilliganondata.com/index.php/tag/match/" rel="tag">match</a>, <a href="http://www.gilliganondata.com/index.php/tag/vlookup/" rel="tag">VLOOKUP</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gilliganondata.com/index.php/2010/08/17/excel-dynamic-named-ranges-never-manually-updating-your-charts-2/feed/</wfw:commentRss>
		<slash:comments>43</slash:comments>
		</item>
		<item>
		<title>An Excel Dashboard Widget</title>
		<link>http://www.gilliganondata.com/index.php/2009/11/16/an-excel-dashboard-widget/</link>
		<comments>http://www.gilliganondata.com/index.php/2009/11/16/an-excel-dashboard-widget/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 14:00:42 +0000</pubDate>
		<dc:creator>Tim Wilson</dc:creator>
				<category><![CDATA[Data Visualization]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[sparklines]]></category>
		<category><![CDATA[trend indicators]]></category>

		<guid isPermaLink="false">http://www.gilliganondata.com/?p=592</guid>
		<description><![CDATA[As I wrote in my last post, I&#8217;ve been spending a lot of time building out Excel-based dashboard structures and processes of late. I also wrote a few weeks ago about calculating trend indicators. A natural follow-on to both of those posts is a look at the &#8220;metric widget&#8221; that …]]></description>
			<content:encoded><![CDATA[<p>As I wrote in my <a title="The Perfect Dashboard" href="http://www.gilliganondata.com/index.php/2009/11/09/the-perfect-dashboard-three-pieces-of-information/" target="_blank">last post</a>, I&#8217;ve been spending a lot of time building out Excel-based dashboard structures and processes of late. I also wrote a few weeks ago about <a title="Calculating Trend Indicators" href="http://www.gilliganondata.com/index.php/2009/10/05/calculating-trend-indicators/" target="_blank">calculating trend indicators</a>. A natural follow-on to both of those posts is a look at the &#8220;metric widget&#8221; that I use as a basis for much of the information that goes on a dashboard. Below is an example of part of a web site dashboard (not with real data):</p>
<p><img class="aligncenter size-full wp-image-598" title="Sparkline Widgets" src="http://www.gilliganondata.com/wp-content/uploads/2009/11/SparklineWidgets.PNG" alt="Sparkline Widgets" width="440" height="301" /></p>
<p>I&#8217;ll walk through some of the components here in detail, but, first, a handful of key points:</p>
<ul>
<li>There is <em>no</em> redundant information &#8212; it&#8217;s not uncommon to see dashboards (or reports in general) where there is a table of data, and that table of data gets charted, and the values for each point on the chart then get included as data labels. This is wasteful and unnecessary.</li>
<li>Hopefully, your eyes are drawn to the bold red elements (and these highlights should still pop out for users with the most common forms of colorblindness &#8212; I haven&#8217;t formally tested that yet, though) &#8212; this is really the practical application of the vision I laid out in my <a title="The Perfect Dashboard" href="http://www.gilliganondata.com/index.php/2009/11/09/the-perfect-dashboard-three-pieces-of-information/">Perfect Dashboard post</a>.</li>
<li>I have yet to produce a dashboard solely comprised of these widgets &#8212; there are always a few KPIs that needs to be given more prominent treatment, and there are other metrics that don&#8217;t make sense in this sparkline/trend/current format</li>
<li>I do mix up the specific measures on a dashboard-by-dashboard basis. In the example above, showing the past two years of trends by month, and then providing quarterly totals and comparisons, makes the most sense based on the planning cycle for the client. But, that certainly is not a structure that makes sense in all situations.</li>
</ul>
<p>And now onto the explanation of the what and why of each element, working our way from left to right.</p>
<h3>Metric Name</h3>
<p>This one hardly warrants an explanation, but I&#8217;ll point out that I didn&#8217;t label that column. That was a conscious decision &#8212; the fact that these are the names of the metric is totally obvious, and <a title="Data-Ink Ratio" href="http://www.infovis-wiki.net/index.php/Data-Ink_Ratio">Edward Tufte&#8217;s data-ink ratio</a> dictates that, if it doesn&#8217;t add value, don&#8217;t include it!</p>
<h3>Past 12 Months Sparkline</h3>
<p>The sparkline is <a title="Sparkline" href="http://en.wikipedia.org/wiki/Sparkline" target="_blank">another Tufte invention</a>, and it&#8217;s one that has really taken off in the data visualization space. That&#8217;s good, because sparklines are darn handy, and the more people get used to seeing them, the less there will need to be any &#8220;training&#8221; of dashboard users to interpret them. Google Analytics has been using sparklines for a while, even, so we&#8217;re well on our way to mass adoption!</p>
<p><img class="aligncenter size-full wp-image-600" title="Google Analytics Sparkline" src="http://www.gilliganondata.com/wp-content/uploads/2009/11/SparklineGA.PNG" alt="Google Analytics Sparkline" width="204" height="78" /></p>
<p>One tweak on the sparkline front that I came up with (although I&#8217;m sure others have done something similar): I add a second, gray sparkline for either the target or the prior reporting period. I like that this gives a quick, easily interpretable view of the metric&#8217;s history over a longer period &#8212; has it been tracking to target consistently, consistently above or below the target, or bouncing back and forth? Is there inherent seasonality in the metric (signified by both the black and gray sparklines having similar spike/dip periods)?</p>
<p>One limitation of sparklines is that they don&#8217;t represent magnitude very well. If, for instance, a particular metric is <em>barely</em> fluctuating over time, then, depending on how the y-axis is set up, the sparkline can still show what looks like a wildly varying value. It&#8217;s a minor limitation, though, so I&#8217;ll live with it.</p>
<h3>4-Month Trend Arrow</h3>
<p>The 4-month trend is the single icon that results from a conceptually simple (but a little hairy to calculate) assessment of the most recent four data points. That was the punchline of an earlier post on <a title="Calculating Trend Indicators" href="http://www.gilliganondata.com/index.php/2009/10/05/calculating-trend-indicators/" target="_blank">calculating trend indicators</a>. Whether the basis of the trend is months, weeks, or days can vary (not within one dashboard, generally, but as a standard for the dashboard overall), as well as whether it&#8217;s 4, 5, 6, or more data points. It&#8217;s a judgment call for both driven by the underlying business need that the dashboard supports.</p>
<p>I promise, promise, promise to make a simplified example of this arrow calculation and post it in a future post &#8212; check the <strong>Comments </strong>section for this post to see if a linkback exists (I&#8217;ll come back and update this entry as well once it&#8217;s done)</p>
<h3>Current</h3>
<p>Typically, when sparklines are used, the exact value of the last point in the sparkline is included. In the example above, I&#8217;ve done something a little different, in that I actually provide the sum of the last <em>three</em> data points. This is a quarterly dashboard, but the sparkline has a monthly basis to it to show intra-quarter trends. If the current value is sufficiently below the target threshold, then the value is automatically displayed as bold and red.</p>
<p>There are certainly situations where &#8220;Current&#8221; would actually be the last point on the sparkline. Like the trend arrow calculations, it&#8217;s a judgment call based on the business need that the dashboard supports.</p>
<h3>YOY</h3>
<p>In the example above, there is a comparison to the prior year. But, this could be a comparison to the target instead. Target-based comparison is even better &#8212; straight period-over-period comparisons tend to feel like something of a cop out, as prior periods really are more &#8220;benchmarks&#8221; than true &#8220;targets.&#8221; Now, setting a target as something like &#8220;15% growth over the prior year&#8221; has some validity! That would then impact both the gray sparkline, the &#8220;when does <strong>Current</strong> go bold red,&#8221; and this %-based calculation.</p>
<h3 style="font-size: 1.17em;">28 Data Points</h3>
<p>In the version of the widget above, there are 28 unique pieces of data presented for each metric: the metric name (1), the black sparkline (12), the gray sparkline (12), the trend indicator (1), the current value (1), and the year-over-year growth percentage (1). And that&#8217;s not counting the conditional formatting that highlights values as bold and red when certain criteria are met. That&#8217;s a key aspect of the widget design. 28 sounds like a lot of data to represent for a single metric. Yet, they seem pretty digestible in this format, don&#8217;t they?</p>
<p>Let me know what you think. Does this work? What doesn&#8217;t work?<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.gilliganondata.com/index.php/2009/10/05/calculating-trend-indicators/" rel="bookmark" title="October 5, 2009">Calculating Trend Indicators</a></li>
<li><a href="http://www.gilliganondata.com/index.php/2010/09/26/data-visualization-tips-and-concepts-monish-datta-calls-it-stellar/" rel="bookmark" title="September 26, 2010">Data Visualization Tips and Concepts (Monish Datta calls it &#8220;stellar&#8221;)*</a></li>
</ul>
<p><!-- Similar Posts took 49.424 ms --></p>
<hr />
<p><small>&copy; Tim for <a href="http://www.gilliganondata.com">Gilligan on Data by Tim Wilson</a>, 2009. |
<a href="http://www.gilliganondata.com/index.php/2009/11/16/an-excel-dashboard-widget/">Permalink</a> |
<a href="http://www.gilliganondata.com/index.php/2009/11/16/an-excel-dashboard-widget/#comments">4 comments</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.gilliganondata.com/index.php/2009/11/16/an-excel-dashboard-widget/&amp;title=An Excel Dashboard Widget">del.icio.us</a>
<br/>
Post tags: <a href="http://www.gilliganondata.com/index.php/tag/sparklines/" rel="tag">sparklines</a>, <a href="http://www.gilliganondata.com/index.php/tag/trend-indicators/" rel="tag">trend indicators</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gilliganondata.com/index.php/2009/11/16/an-excel-dashboard-widget/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Data Visualization that Is Colorblind-Friendly &#8212; Excel 2007?</title>
		<link>http://www.gilliganondata.com/index.php/2009/06/18/data-visualization-that-is-color-blind-friendly-excel-2007/</link>
		<comments>http://www.gilliganondata.com/index.php/2009/06/18/data-visualization-that-is-color-blind-friendly-excel-2007/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 15:27:57 +0000</pubDate>
		<dc:creator>Tim Wilson</dc:creator>
				<category><![CDATA[Data Visualization]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[colorblind]]></category>
		<category><![CDATA[palette]]></category>

		<guid isPermaLink="false">http://www.gilliganondata.com/?p=387</guid>
		<description><![CDATA[Wow. This post started out not as a post, but as what I thought was going to be a 5-minute exercise with Google to download a colorblind-friendly palette for Excel charts. That was two weeks ago, and this post is just scratching the surface. Several weeks ago, one of the …]]></description>
			<content:encoded><![CDATA[<p>Wow. This post started out not as a post, but as what I thought was going to be a 5-minute exercise with Google to download a colorblind-friendly palette for Excel charts. That was two weeks ago, and this post is just scratching the surface.</p>
<p>Several weeks ago, one of the presenters in a meeting showed some data as a map overlay. As soon as she projected the first map, someone in the meeting quipped, &#8220;Good luck understanding this one, Jim!&#8221; Jim, you see, is colorblind. And, apparently, most of the people in the meeting knew it. Approximately 8% of men have some form of color blindness (it&#8217;s much more rare in women &#8212; only 1 in 200). And the overlays on the map were color-coded very subtly. Jim commented that it was hopeless!</p>
<p>As it happened, I was exploring a fresh set of data that same week, as we&#8217;d recently rolled out some new customer data capture capabilities. As I worked through how best to present the results, I decided to grab a colorblind-friendly palette from the web and use it in the visualization of the information. I&#8217;d hoped to find a site with one or more Excel files that I could download with such a palette, but, worst case, I was prepared to snag a palette and manually update my Excel file (for future sharing on this blog, of course!).</p>
<p>No. Such. Luck!</p>
<p>What I did find was a slew of information on the different types of color blindness (which I&#8217;ll touch on briefly in a bit), as well as a bevy of almost-useful tools and palettes:</p>
<ul>
<li><a title="How to make figures and presentations that are friendly to Colorblind people" href="http://jfly.iam.u-tokyo.ac.jp/color/" target="_blank">How to make figures and presentations that are friendly to Colorblind people</a> &#8212; ultimately, I used the palette that is ~2/3 of the way down this page for my spreadsheet (the figure labeled &#8220;Set of colors that is unambiguous both to colorblinds and non-colorblinds&#8221;).  Mr. Excel actually <a title="Mr. Excel Palette Updater Macro" href="http://www.mrexcel.com/forum/showthread.php?t=374530" target="_blank">references this palette and provides a macro</a> that will update a workbook&#8217;s palette with this palette. The downside of this palette is that, while it may be plenty functional, I can&#8217;t say I&#8217;m wild about it from an aesthetic viewpoint. But, I&#8217;d spent the 30 minutes I&#8217;d given myself to dig, so I ran with it.</li>
<li><a title="Colorjack Color Blindness Simulation" href="http://www.colorjack.com/blind.php" target="_blank">Colorjack Color Blindness Simulation</a> &#8212; a view of the color spectrum as seen by people with eight different forms of color blindness. That&#8217;s informative&#8230;but doesn&#8217;t really provide a realistic way to build a functional palette for data visualization purposes.</li>
<li><a title="Colorjack" href="http://www.colorjack.com/" target="_blank">Colorjack</a> &#8212; a nifty tool for finding a color palette. Unfortunately&#8230;there&#8217;s no way to test how colorblind-friendly any of the palettes are</li>
<li><a title="Colorblind Web Page Filter" href="http://colorfilter.wickline.org/" target="_blank">Colorblind Web Page Filter</a> &#8212; there were a number of tools for sale that would simulate how content would appear to people with different forms of colorblindness, but this is the (free) online tool I wound up using for the exercise below. It couldn&#8217;t be easier to use &#8212; you just provide a URL and what form of color blindness you&#8217;re interested in, and it renders it</li>
</ul>
<p>So, aside from the one palette that was solely focussed on functionality and not at all on aesthetics, I struck out. As I pondered this over the next few days, it occurred to me that, perhaps Excel&#8217;s default colors always seemed so gosh-awful because they were actually developed explicitly with colorblindness in mind. I could not find any documentation to support the theory&#8230;so I turned left and headed down that rathole to see if I could figure it out myself.</p>
<p>The exercise was pretty simple. I created a 10-color bar chart using the Excel 2007 default palette. <strong>Note:</strong> This was created <em>purely</em> for palette-testing &#8212; this actual chart is a great example of needlessly using more color than is needed! Here&#8217;s the chart:</p>
<div class="mceTemp mceIEcenter" style="text-align: center;">
<dl id="attachment_388" class="wp-caption aligncenter" style="width: 493px;">
<dt class="wp-caption-dt"><img class="size-full wp-image-388" title="Excel 2007 Default Chart Colors" src="http://www.gilliganondata.com/wp-content/uploads/2009/06/excel2007defaultcolors.jpg" alt="Excel 2007 Default Chart Colors" width="483" height="291" /></dt>
<dd class="wp-caption-dd">Excel 2007 Default Chart Colors</dd>
</dl>
</div>
<p>Like the one colorblind-friendly palette I found online, I really don&#8217;t like the aesthetics of this palette. It&#8217;s been toned down a bit from the Excel 2003 (and earlier) versions, which is good, but it still seems rather harsh. Could that be for colorblind compatibility? I think so! I took the chart above and ran it through the <a title="Colorblind Web Page Filter" href="http://colorfilter.wickline.org/" target="_blank">Colorblind Web Page Filter</a> mentioned above for the four most common types of color blindness (as described in a <a title="Pearson Report on Color Blindness" href="http://pearsonassess.com/NR/rdonlyres/59EE5E78-46F0-4FD0-AF0F-986C4F642B66/0/ColorBlindness_Rev2_Final.pdf" target="_blank">Pearson report by Betsy J. Case</a>):</p>
<div class="mceTemp mceIEcenter" style="text-align: center;">
<dl id="attachment_391" class="wp-caption aligncenter" style="width: 493px;">
<dt class="wp-caption-dt"><img class="size-full wp-image-391" title="Excel 2007 Default Chart Colors -- Deuteranomaly" src="http://www.gilliganondata.com/wp-content/uploads/2009/06/deuteranomaly.gif" alt="Excel 2007 Default Chart Colors -- Deuteranomaly (Affects 4.9% of Males)" width="483" height="291" /></dt>
<dd class="wp-caption-dd">Deuteranomaly (Affects 4.9% of Men)</dd>
</dl>
</div>
<div class="mceTemp mceIEcenter" style="text-align: center;">
<dl id="attachment_392" class="wp-caption aligncenter" style="width: 493px;">
<dt class="wp-caption-dt"><img class="size-full wp-image-392" title="Excel 2007 Default Chart Colors -- Deuteranopia" src="http://www.gilliganondata.com/wp-content/uploads/2009/06/deuteranopia.gif" alt="Excel 2007 Default Chart Colors -- Deuteranopia (Affects 1.1% of Men)" width="483" height="291" /></dt>
<dd class="wp-caption-dd">Deuteranopia (Affects 1.1% of Men)</dd>
</dl>
</div>
<div class="mceTemp mceIEcenter" style="text-align: center;">
<dl id="attachment_390" class="wp-caption aligncenter" style="width: 493px;">
<dt class="wp-caption-dt"><img class="size-full wp-image-390" title="Excel 2007 Default Chart Colors -- Protanopia" src="http://www.gilliganondata.com/wp-content/uploads/2009/06/protanopia.gif" alt="Excel 2007 Default Chart Colors -- Protanopia (Affects 1% of Men)" width="483" height="291" /></dt>
<dd class="wp-caption-dd">Protanopia (Affects 1% of Men)</dd>
</dl>
</div>
<div class="mceTemp mceIEcenter" style="text-align: center;">
<dl id="attachment_389" class="wp-caption aligncenter" style="width: 493px;">
<dt class="wp-caption-dt"><img class="size-full wp-image-389" title="Excel 2007 Default Chart Colors -- Protanomaly" src="http://www.gilliganondata.com/wp-content/uploads/2009/06/protanomaly.gif" alt="Excel 2007 Default Chart Colors -- Protanomaly (Affects 1% of Men)" width="483" height="291" /></dt>
<dd class="wp-caption-dd">Protanomaly (Affects 1% of Men)</dd>
</dl>
</div>
<p><strong><span style="font-weight: normal;">Overall, the palette seems workable in all four situations. The first three colors absolutely work. Color 4, as well as color 5, start to lose a little contrast from color 1, but they still seem manageable. Color 5 and color 7, as well as color 10, start to get a <em>little</em> problematic in some cases, but, if you&#8217;re going beyond four colors in a single chart, you might need to reconsider your chart type anyway. Right?</span></strong></p>
<p><strong><span style="font-weight: normal;">Now, one final test: for achromatopsia. On the one hand, this is <em>extremely</em> rare. On the other hand&#8230;it&#8217;s common when your office has a lot of black-and-white printers:</span></strong></p>
<p style="text-align: center;"><strong> </strong></p>
<div class="mceTemp mceIEcenter" style="text-align: center;">
<dl id="attachment_394" class="wp-caption aligncenter" style="width: 493px;">
<dt class="wp-caption-dt"><img class="size-full wp-image-394" title="Excel 2007 Default Chart Colors -- Achromatopsia" src="http://www.gilliganondata.com/wp-content/uploads/2009/06/achromatopsia.gif" alt="Excel 2007 Default Chart Colors -- Achromatopsia" width="483" height="291" /></dt>
<dd class="wp-caption-dd">Achromatopsia (Extremely Rare)</dd>
</dl>
</div>
<p>Apparently, any palette that works in grayscale is a quick way to check for compatibility with all forms of colorblindness. It&#8217;s also&#8230;a best practice. Interestingly, the Excel 2007 palette really lays an egg here, in that colors 1, 2, and 4 are all barely distinguishable!</p>
<p>Clearly, there is an opportunity here to test a variety of functional, attractive palettes for grayscale printability and the top four forms of colorblindness and develop something better than the Excel defaults. But, that&#8217;s an exercise for another time. I think I&#8217;ll aim for the first four colors of the palette being &#8220;highly distinguishable&#8221; in all scenarios and the next four being &#8220;functionally distinguishable.&#8221; What do you think? Would this be useful? What else should I take into consideration?</p>
<hr />
<p><small>&copy; Tim for <a href="http://www.gilliganondata.com">Gilligan on Data by Tim Wilson</a>, 2009. |
<a href="http://www.gilliganondata.com/index.php/2009/06/18/data-visualization-that-is-color-blind-friendly-excel-2007/">Permalink</a> |
<a href="http://www.gilliganondata.com/index.php/2009/06/18/data-visualization-that-is-color-blind-friendly-excel-2007/#comments">9 comments</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.gilliganondata.com/index.php/2009/06/18/data-visualization-that-is-color-blind-friendly-excel-2007/&amp;title=Data Visualization that Is Colorblind-Friendly &#8212; Excel 2007?">del.icio.us</a>
<br/>
Post tags: <a href="http://www.gilliganondata.com/index.php/tag/colorblind/" rel="tag">colorblind</a>, <a href="http://www.gilliganondata.com/index.php/tag/palette/" rel="tag">palette</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gilliganondata.com/index.php/2009/06/18/data-visualization-that-is-color-blind-friendly-excel-2007/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Data Visualization &#8212; March Madness Style</title>
		<link>http://www.gilliganondata.com/index.php/2009/03/28/data-visualization-march-madness-style/</link>
		<comments>http://www.gilliganondata.com/index.php/2009/03/28/data-visualization-march-madness-style/#comments</comments>
		<pubDate>Sat, 28 Mar 2009 14:00:27 +0000</pubDate>
		<dc:creator>Tim Wilson</dc:creator>
				<category><![CDATA[Data Visualization]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[ESPN]]></category>
		<category><![CDATA[game flow]]></category>
		<category><![CDATA[March Madness]]></category>
		<category><![CDATA[Stephen Few]]></category>

		<guid isPermaLink="false">http://www.gilliganondata.com/?p=258</guid>
		<description><![CDATA[I got an e-mail last week just a few hours into Round 1 of this year&#8217;s NCAA men&#8217;s basketball tournament. The subject of the email was simply &#8220;dumb graph,&#8221; and the key line in the note was: The “game flow” graph…how in the WORLD is that telling me anything? That …]]></description>
			<content:encoded><![CDATA[<p>I got an e-mail last week just a few hours into Round 1 of this year&#8217;s NCAA men&#8217;s basketball tournament. The subject of the email was simply &#8220;dumb graph,&#8221; and the key line in the note was:</p>
<blockquote><p>The “game flow” graph…how in the WORLD is that telling me anything? That the score goes up as the game goes on? Really? Ya think?</p></blockquote>
<p>My friend was referring to the diagrams that <a title="ESPN.com" href="http://www.espn.com" target="_blank">ESPN.com</a> is providing for every game in the tournament. The concept of these graphs is pretty simple: plot the score for each team over the course of the game. For instance, the &#8220;Game Flow&#8221; graph for the Oklahoma vs. Morgan State game looks like this (you can see the actual graph on the <a title="Oklahoma vs. Morgan State" href="http://espn.go.com/ncb/recap?gameId=294000043">game recap page</a> &#8212; just scroll down a bit and it&#8217;s on the right):</p>
<p style="TEXT-ALIGN: center"><img class="alignnone size-full wp-image-261" title="Oklahoma vs. Morgan State" src="http://www.gilliganondata.com/wp-content/uploads/2009/03/mm_oklahomamorganst_espn-copy.jpg" alt="Oklahoma vs. Morgan State" width="481" height="339" /></p>
<p>This isn&#8217;t an exact replication, but it&#8217;s pretty close &#8212; best I could manage in Excel 2007 (the raw data is courtesy of the <a title="Oklahoma vs. Morgan State Play-by-Play" href="http://espn.go.com/ncb/playbyplay?gameId=294000043" target="_blank">ESPN.com play-by-play page</a>  for the game). ESPN&#8217;s graph is a Flash-based chart, so it&#8217;s got some interactivity that the image above does not (we&#8217;ll get to that in a bit).</p>
<p>The graph shows that the game was tight for the first 4-5 minutes, then Oklahoma pulled away, Morgan State made it really close mid-way through the first half, and then Oklahoma pulled away and never looked back. My friend had a point, though &#8211;  the dominant feature of the graph is that both lines trend up and to the right&#8230;and <em>any</em> chart of a basketball game is going to exhibit that pattern (actually, the play-by-play for that game has a couple of hiccups such that, when I originally pulled the data, I had a couple places where the score went <em>down</em> due to out-of-sequence free throw placement&#8230;but I noticed the issue and fixed it). In business, we&#8217;re pretty well conditioned to see &#8220;up and to the right&#8221; as a good thing&#8230;but it&#8217;s meaningless in the case of a basketball game.</p>
<p>Compare that graph to a game that was much closer &#8211; the Clemson vs. Michigan game (the graph on ESPN&#8217;s site is on the <a title="Clemson vs. Michigan" href="http://espn.go.com/ncb/recap?gameId=294000042&amp;confId=100" target="_blank">recap page</a>, and the raw data is on the <a title="Clemson vs. Michigan" href="http://espn.go.com/ncb/playbyplay?gameId=294000035">play-by-play page</a>):</p>
<p style="TEXT-ALIGN: center"><img class="aligncenter size-full wp-image-259" title="Clemson vs. Michigan" src="http://www.gilliganondata.com/wp-content/uploads/2009/03/mm_clemsonmichigan_espn.jpg" alt="Clemson vs. Michigan" width="481" height="339" /></p>
<p>This was a tighter game all through the first half. Clemson led for the first 7-8 minutes, Michigan pulled substantially ahead early in the second half, and then things got tight in the last few minutes of the game. But, again, both lines moved up and to the right.</p>
<p>These charts are not difficult to interpret:</p>
<ul>
<li>The line on top is the team that is leading</li>
<li>The distance between the lines is the size of the lead</li>
<li>The lines crossing signifies a lead change</li>
</ul>
<p>But, could we do better? Well, my wife and kids are out-of-town for the week (spring break), I have the social life you&#8217;d expect from someone who blogs about data and data visualization, and the fridge is well-stocked with beer. Party. ON!</p>
<p>At best, my level of basketball fan-ness hovers right around &#8220;casual.&#8221; Still, I follow it enough to know the key factors of a game update or game upset (Think: &#8220;Hey, Joe. What&#8217;s the score?&#8221;). Basically:</p>
<ul>
<li>Who&#8217;s winning?</li>
<li>By how much?</li>
</ul>
<p>(If there&#8217;s time for a third data point, the actual score is an indication of whether it&#8217;s a high scoring shootout or a low scoring defense-oriented game.)</p>
<p>Given these two factors as the key measures of a game, take another look at the graphs above. When the game is tight, you have to look closely to assess who is winning. And, determining how much they&#8217;re winning by requires some mental exertion (try it yourself: look back at the last graph and ask yourself how much Michigan was winning by halfway through the second half).</p>
<p>This is just begging for a <a title="Stephen Few Examples" href="http://www.perceptualedge.com/examples.php" target="_blank">Stephen Few-style exercise</a> to see if I can do better.</p>
<p>First, the Oklahoma/Morgan State game:</p>
<p style="TEXT-ALIGN: center"><img class="aligncenter size-full wp-image-262" title="Oklahoma vs. Morgan State" src="http://www.gilliganondata.com/wp-content/uploads/2009/03/mm_oklahomamorganst_tgw-copy.jpg" alt="Oklahoma vs. Morgan State" width="482" height="340" /> </p>
<p>Rather than plotting both team&#8217;s scores, with the total score on the Y-axis, this chart plots a single line with the size of the lead &#8212; whichever side of the &#8220;0&#8243; line the plot is on is the team that is winning. The team on the top is the higher seed, and the team on the bottom is the lower seed. I added the actual score at halftime and the end of the game, as well as each team&#8217;s seed. Compare that chart to the much closer Clemson/Michigan game:</p>
<p style="TEXT-ALIGN: center"><img class="aligncenter size-full wp-image-260" title="Clemson vs. Michigan" src="http://www.gilliganondata.com/wp-content/uploads/2009/03/mm_clemsonmichigan_tgw.jpg" alt="Clemson vs. Michigan" width="482" height="340" /></p>
<p>The chart looks very different &#8212; focussing on what information fans really want and presenting it directly, rather than presenting the data in a way that requires mental exertion to derive what the fan is really interested in: who&#8217;s winning and by how much? While the graphs on ESPN&#8217;s site allow you to mouse over any point in the game and see the exact score and the exact amount of time remaining, it&#8217;s hard to imagine who would actually care to do that &#8211; better to come up with an information-rich and easy-to-interpret static chart than to get fancy with unnecessary interactivity.</p>
<p>A few other subtle changes to the alternative representation:</p>
<ul>
<li>I tried to dramatically increase the &#8220;data-pixel ratio&#8221; (Few&#8217;s principle that the ratio of actual <em>data</em> to <em>decoration</em> should be maximized) &#8212; this is a little unfair to ESPN, as their site is working with an overall style and palette for the site, but it&#8217;s still worth keeping in mind</li>
<li>I used color on the Y-axis to show which team&#8217;s lead is above/below the mid-line. The numbers below the middle horizontal line are actually negative numbers, but with a little Excel trickery, I was able to remove the &#8220;-&#8221; and change the color of the labels (all done through Custom number formatting)</li>
<li>By putting the top seed on the top, looking at a full page of these charts would quickly highlight the games that were upsets</li>
</ul>
<p>I&#8217;m my own worst critic, so here are two things I <em>don&#8217;t</em> like about the alternate charts above:</p>
<ul>
<li>The overall palette still feels a little clunky &#8212; the main data plot doesn&#8217;t seem to &#8220;pop&#8221; as much as it should, even though it&#8217;s black, and the shaded heading doesn&#8217;t feel right</li>
<li>While the interpretation of the data requires less mental effort once you understand what the chart is showing, it does seem like this approach requires another half-second of interpretation upr front that the original charts don&#8217;t require</li>
</ul>
<p>What do you think? What else could I try to improve the representation?<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.gilliganondata.com/index.php/2008/07/09/test-your-data-visualization-iq/" rel="bookmark" title="July 9, 2008">Test Your Data Visualization IQ</a></li>
<li><a href="http://www.gilliganondata.com/index.php/2008/06/19/stephen-fews-derivation-of-tufte-the-data-pixel-ratio/" rel="bookmark" title="June 19, 2008">Stephen Few&#8217;s Derivation of Tufte: The Data-Pixel Ratio</a></li>
<li><a href="http://www.gilliganondata.com/index.php/2009/04/27/recoverygov-needs-some-few-and-some-tufte/" rel="bookmark" title="April 27, 2009">Recovery.gov Needs Some Few and Some Tufte</a></li>
<li><a href="http://www.gilliganondata.com/index.php/2009/03/14/data-visualization-fews-examples/" rel="bookmark" title="March 14, 2009">Data Visualization &#8212; Few&#8217;s Examples</a></li>
<li><a href="http://www.gilliganondata.com/index.php/2009/03/05/the-best-little-book-on-data/" rel="bookmark" title="March 5, 2009">The Best Little Book on Data</a></li>
</ul>
<p><!-- Similar Posts took 35.016 ms --></p>
<hr />
<p><small>&copy; Tim for <a href="http://www.gilliganondata.com">Gilligan on Data by Tim Wilson</a>, 2009. |
<a href="http://www.gilliganondata.com/index.php/2009/03/28/data-visualization-march-madness-style/">Permalink</a> |
<a href="http://www.gilliganondata.com/index.php/2009/03/28/data-visualization-march-madness-style/#comments">9 comments</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.gilliganondata.com/index.php/2009/03/28/data-visualization-march-madness-style/&amp;title=Data Visualization &#8212; March Madness Style">del.icio.us</a>
<br/>
Post tags: <a href="http://www.gilliganondata.com/index.php/tag/espn/" rel="tag">ESPN</a>, <a href="http://www.gilliganondata.com/index.php/tag/game-flow/" rel="tag">game flow</a>, <a href="http://www.gilliganondata.com/index.php/tag/march-madness/" rel="tag">March Madness</a>, <a href="http://www.gilliganondata.com/index.php/tag/stephen-few/" rel="tag">Stephen Few</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gilliganondata.com/index.php/2009/03/28/data-visualization-march-madness-style/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>The Best Little Book on Data</title>
		<link>http://www.gilliganondata.com/index.php/2009/03/05/the-best-little-book-on-data/</link>
		<comments>http://www.gilliganondata.com/index.php/2009/03/05/the-best-little-book-on-data/#comments</comments>
		<pubDate>Fri, 06 Mar 2009 02:58:30 +0000</pubDate>
		<dc:creator>Tim Wilson</dc:creator>
				<category><![CDATA[Analysis]]></category>
		<category><![CDATA[Data Management]]></category>
		<category><![CDATA[Data Visualization]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[Metrics]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Web Analytics]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[cliches]]></category>
		<category><![CDATA[Edmund Tufte]]></category>
		<category><![CDATA[myths]]></category>
		<category><![CDATA[Stephen Few]]></category>

		<guid isPermaLink="false">http://www.gilliganondata.com/?p=238</guid>
		<description><![CDATA[How&#8217;s that for a book title? Would it pique your interest? Would you download it and read it? Do you have friends or co-workers who would be interested in it? Why am I asking? Because it doesn&#8217;t exist. Yet. Call it a working title for a project I&#8217;ve been kicking around in …]]></description>
			<content:encoded><![CDATA[<p>How&#8217;s that for a book title? Would it pique your interest? Would you download it and read it? Do you have friends or co-workers who would be interested in it?</p>
<p>Why am I asking?</p>
<p>Because it doesn&#8217;t exist. Yet. Call it a working title for a project I&#8217;ve been kicking around in my head for a couple of years. In a lot of ways, this blog has been and continues to be a way for me to jot down and try out ideas to include in the book. This is my first stab at trying to capture a real structure, though.</p>
<p style="TEXT-ALIGN: center"><strong><span style="text-decoration: underline;">The Best Little Book on Data</span></strong></p>
<p>In my mind, the book will be a quick, easy read &#8212; as entertaining as a greased pig loose at a black-tie political fundraiser &#8212; but will really hammer home some key concepts around how to use data effectively. If I&#8217;m lucky, I&#8217;ll talk a cartoonist into some pen-and-ink, one-panel chucklers to sprinkle throughout it. I&#8217;ll come up with some sort of theme that will tie the chapter titles together &#8212; &#8220;myths&#8221; would be good&#8230;except that means every title is basically a negative of the subject; &#8220;Commandments&#8221; could work&#8230;but I&#8217;m too inherently politically correct to really be comfortable with biblical overtones; an &#8220;&#8230;In which our hero&#8230;&#8221; style (the &#8220;hero&#8221; being the reader, I guess?). Obviously, I need to work that out.</p>
<p>First cut at the structure:</p>
<ul>
<li><strong>Introduction</strong> &#8212; who this book is for; in a nutshell, it&#8217;s targeted at anyone in business who knows they have a lot of data, who knows they need to be using that data&#8230;but who wants some practical tips and concepts as to how to actually go about doing just that.</li>
<li><strong>Chapter 1: Start with the Data&#8230;If You Want to Guarantee Failure </strong>&#8211; it&#8217;s tempting to think that, to use data effectively, the first thing you should do is go out and query/pull the data that you&#8217;re interested in. That&#8217;s a great way to get lost in spreadsheets and emerge hours (or days!) later with some charts that are, at best, interesting but not actionable, and, at worst, not even interesting.</li>
<li><strong>Chapter 2: Metrics vs. Analysis</strong> &#8212; providing some real clarity regarding the fundamentally different ways to &#8220;use data.&#8221; Metrics are for performance measurement and monitoring &#8212; they are all about the &#8220;what&#8221; and are tied to objectives and targets. Analysis is all about the &#8220;why&#8221; &#8212; it&#8217;s exploratory and needs to be hypothesis driven. Operational data is a third way, but not really covered in the book, so probably described here just to complete the framework.</li>
<li><strong>Chapter 3: Objective Clarity</strong> &#8212; a deeper dive into setting up metrics/performance measurement, and how to start with being clear as to the objectives for what&#8217;s being measured, going from there to identifying metrics (direct measures combined with proxy measures), establishing targets for the metrics (and why, &#8220;I can&#8217;t set one until I&#8217;ve tracked it for a while&#8221; is a total copout), and validating the framework</li>
<li><strong>Chapter 4: When &#8220;The Metric Went Up&#8221; Doesn&#8217;t Mean a Gosh Darn Thing </strong>&#8211; another chapter on metrics/performance measuremen. A discussion of the temptation to over-interpret time-based performance metrics. If a key metric is higher this month than last month&#8230;it doesn&#8217;t necessarily mean things are improving. This includes a high-level discussion of &#8220;signal vs. noise,&#8221; an illustration of how easy it is to get lulled into believing something is &#8220;good&#8221; or &#8220;bad&#8221; when it&#8217;s really &#8220;inconclusive,&#8221; and some techniques for avoiding this pitfall (such as using simple, rudimentary control limits to frame trend data).</li>
<li><strong>Chapter 5: Remember the Scientific Method? &#8212; </strong>a deeper dive on analysis and how it needs to be hypothesis-driven&#8230;but with the twist that you should validate that the results will be actionable just by assessing the hypothesis before actually pulling data and conducting the analysis</li>
<li><strong>Chapter 6: Data Visualization Matters &#8211;</strong> largely, a summary/highlights of the stellar work that Stephen Few has done (and, since he built on Tufte&#8217;s work, I&#8217;m sure there would be some level of homage to him as well). This will include a discussion of how graphic designers tend to not be wired to think about data and analysis, while highly data-oriented people tend to fall short when it comes to visual talent. Yet&#8230;to really deliver useful information, these have to come together. And, of course, illustrative before/after examples.</li>
<li><strong>Chapter 7: Microsoft Excel&#8230;and Why BI Vendors Hate It &#8211;</strong> the BI industry has tried to equate MS Excel with &#8220;spreadmarts&#8221; and, by extension, deride any company that is relying heavily on Excel for reporting and/or analysis as being wildly early on the maturity curve when it comes to using data. This chapter will blow some holes in that&#8230;while also providing guidance on when/where/how BI tools are needed (I don&#8217;t know where data warehousing will fit in &#8212; this chapter, a new chapter, or not at all). This chapter would also reference some freely downloadable spreadsheets with examples, macros, and instructions for customizing an Excel implementation to do some of the data visualization work that Excel can do&#8230;but doesn&#8217;t default to. Hmmm&#8230; JT? Miriam? I&#8217;m seeing myself snooping for some help from the experts on these!</li>
<li><strong>Chapter 8: Your Data is Dirty. Get Over It. &#8211;</strong> CRM data, ERP data, <a title="Web Data Capture Methods" href="http://www.gilliganondata.com/index.php/2008/01/02/capturing-web-traffic-data-two-methods-that-suck/">web analytics data</a>, it doesn&#8217;t matter what kind of data. It&#8217;s <em>always</em> dirtier than the people who haven&#8217;t really drilled down into it assume. It&#8217;s really easy to get hung up on this when you start digging into it&#8230;and that&#8217;s a good way to waste a lot of effort. Which isn&#8217;t to say that some understanding of data gaps and shortcomings isn&#8217;t important.</li>
<li><strong>Chapter 9: Web Analytics &#8211;</strong> I&#8217;m not sure exactly where this fits, but it feels like it would be a mistake to not provide at least a basic overview of web analytics, pitfalls (which really go to not applying the core concepts already covered, but web analytics tools make it easy to forget them), and maybe even providing some thoughts on social media measurement.</li>
<li><strong>Chapter 10: A Collection of Data Cliches and Myths</strong> &#8212; This may actually be more of an appendix, but it&#8217;s worth sharing the cliches that are wrong and myths that are worth filing away, I think: &#8220;the myth of the step function&#8221; (unrealistic expectations), &#8220;the myth that people are cows&#8221; (might put this in the web analytics section), &#8220;if you can&#8217;t measure it, don&#8217;t do it&#8221; (and why that&#8217;s just plain silliness)</li>
<li><strong>Chapter 11: Bringing It All Together</strong> &#8212; I assume there will be such a chapter, but I&#8217;m going to have to rely on nailing the theme and the overall structure before I know how it will shake out.</li>
</ul>
<p>What do you think? What&#8217;s missing? Which of these remind you of anecdotes in your own experience (haven&#8217;t you always dreamed of being included in the Acknowledgments section of a book? Even if it&#8217;s a free eBook?)? What topic(s) are you most interested in? Back to the questions I opened this post with &#8212; would you be interested in reading this book, and do you have friends or co-workers who would be interested? Or, am I just imagining that this would fill a gap that many businesses are struggling with?<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.gilliganondata.com/index.php/2008/07/09/test-your-data-visualization-iq/" rel="bookmark" title="July 9, 2008">Test Your Data Visualization IQ</a></li>
<li><a href="http://www.gilliganondata.com/index.php/2008/06/19/stephen-fews-derivation-of-tufte-the-data-pixel-ratio/" rel="bookmark" title="June 19, 2008">Stephen Few&#8217;s Derivation of Tufte: The Data-Pixel Ratio</a></li>
<li><a href="http://www.gilliganondata.com/index.php/2009/03/14/data-visualization-fews-examples/" rel="bookmark" title="March 14, 2009">Data Visualization &#8212; Few&#8217;s Examples</a></li>
<li><a href="http://www.gilliganondata.com/index.php/2009/04/27/recoverygov-needs-some-few-and-some-tufte/" rel="bookmark" title="April 27, 2009">Recovery.gov Needs Some Few and Some Tufte</a></li>
<li><a href="http://www.gilliganondata.com/index.php/2009/03/28/data-visualization-march-madness-style/" rel="bookmark" title="March 28, 2009">Data Visualization &#8212; March Madness Style</a></li>
</ul>
<p><!-- Similar Posts took 53.807 ms --></p>
<hr />
<p><small>&copy; Tim for <a href="http://www.gilliganondata.com">Gilligan on Data by Tim Wilson</a>, 2009. |
<a href="http://www.gilliganondata.com/index.php/2009/03/05/the-best-little-book-on-data/">Permalink</a> |
<a href="http://www.gilliganondata.com/index.php/2009/03/05/the-best-little-book-on-data/#comments">8 comments</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.gilliganondata.com/index.php/2009/03/05/the-best-little-book-on-data/&amp;title=The Best Little Book on Data">del.icio.us</a>
<br/>
Post tags: <a href="http://www.gilliganondata.com/index.php/tag/book/" rel="tag">book</a>, <a href="http://www.gilliganondata.com/index.php/tag/cliches/" rel="tag">cliches</a>, <a href="http://www.gilliganondata.com/index.php/tag/edmund-tufte/" rel="tag">Edmund Tufte</a>, <a href="http://www.gilliganondata.com/index.php/tag/myths/" rel="tag">myths</a>, <a href="http://www.gilliganondata.com/index.php/tag/stephen-few/" rel="tag">Stephen Few</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gilliganondata.com/index.php/2009/03/05/the-best-little-book-on-data/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Shortest Excel Tip Ever: &lt;F4&gt; and &lt;Ctrl&gt;-Y</title>
		<link>http://www.gilliganondata.com/index.php/2008/08/03/shortest-excel-tip-ever-f4-and-ctrl-y/</link>
		<comments>http://www.gilliganondata.com/index.php/2008/08/03/shortest-excel-tip-ever-f4-and-ctrl-y/#comments</comments>
		<pubDate>Sun, 03 Aug 2008 22:11:10 +0000</pubDate>
		<dc:creator>Tim Wilson</dc:creator>
				<category><![CDATA[Excel]]></category>
		<category><![CDATA[Excel tips]]></category>
		<category><![CDATA[F4]]></category>

		<guid isPermaLink="false">http://www.gilliganondata.com/?p=138</guid>
		<description><![CDATA[I&#8217;ll put my standard big, fat, hairy disclaimer here that this blog is not about Excel tips. There are lots of resources for that. As a matter of fact, the Contextures blog is one that I stumbled across after Debra commented on my last Excel tip. Nevertheless, here&#8217;s a handy …]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ll put my standard big, fat, hairy disclaimer here that this blog is not about Excel tips. There are lots of resources for that. As a matter of fact, the <a title="Contextures" href="http://blog.contextures.com/">Contextures blog</a> is one that I stumbled across after Debra commented on my <a title="Paste Special...Values" href="http://www.gilliganondata.com/index.php/2008/07/23/random-excel-tip-always-available-paste-specialvalues/#comments">last Excel tip</a>.</p>
<p>Nevertheless, here&#8217;s a handy one that requires <em>no</em> customization of Excel, but that I guarantee you&#8217;ll be hooked on if you start using it: &lt;F4&gt;</p>
<p>&lt;F4&gt; and &lt;Ctrl&gt;-Y do the same thing, actually, and they work in MS Word, too. What do they do? Pretty simple:</p>
<p style="text-align: center; font-size: 30px"><strong>Repeat the Last Action Taken</strong></p>
<p style="text-align: left;">That&#8217;s it. If you&#8217;ve just formatted a cell or set of cells with a new border and background color, then you can click on a cell and press &lt;F4&gt; and it&#8217;ll apply the same formatting to the new cell. And then do it again! In this case, it does the same thing as the <strong>Format Painter</strong>&#8230;but does it faster (with limitations, as described below).</p>
<p style="text-align: left;">If you&#8217;ve just inserted a row and you want to insert another row lower down on the spreadsheet, highlight the next row and press &lt;F4&gt;.</p>
<p style="text-align: left;">As you can imagine (if you stop and try to imagine it&#8230;and I recognize it&#8217;s got to be a pretty bleak day of creativity for this to bubble up as worthy of your imagination), this is particularly handy when doing some oddball work on non-contiguous cells.</p>
<p style="text-align: left;">This is handier than you might think. And, it does have it&#8217;s limitations. The main one is that it <em>only</em> repeats the <em>immediately preceding</em> action. In the <strong>Format Painter</strong> example above, &lt;F4&gt; is no use if you have a cell already formatted as you want and you want to copy that format to other cells. That&#8217;s what the <strong>Format Painter</strong> is for.</p>
<p style="text-align: left;">And, another limitation is that it doesn&#8217;t work with <em>every</em> possible action. For instance, if you type a value into a cell and then want that same value in another cell&#8230;&lt;F4&gt; doesn&#8217;t work. You&#8217;ll have to copy and paste. It becomes pretty intuitive in a hurry as to where it works and where it doesn&#8217;t.</p>
<p style="text-align: left;">Happy repetition!</p>
<p style="text-align: center;">
<p><strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.gilliganondata.com/index.php/2008/05/22/quick-excel-tip-the-fastest-way-to-sum-numbers/" rel="bookmark" title="May 22, 2008">Quick Excel Tip: The FASTEST Way to Sum Numbers</a></li>
</ul>
<p><!-- Similar Posts took 23.680 ms --></p>
<hr />
<p><small>&copy; Tim for <a href="http://www.gilliganondata.com">Gilligan on Data by Tim Wilson</a>, 2008. |
<a href="http://www.gilliganondata.com/index.php/2008/08/03/shortest-excel-tip-ever-f4-and-ctrl-y/">Permalink</a> |
<a href="http://www.gilliganondata.com/index.php/2008/08/03/shortest-excel-tip-ever-f4-and-ctrl-y/#comments">6 comments</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.gilliganondata.com/index.php/2008/08/03/shortest-excel-tip-ever-f4-and-ctrl-y/&amp;title=Shortest Excel Tip Ever: &lt;F4&gt; and &lt;Ctrl&gt;-Y">del.icio.us</a>
<br/>
Post tags: <a href="http://www.gilliganondata.com/index.php/tag/excel-tips/" rel="tag">Excel tips</a>, <a href="http://www.gilliganondata.com/index.php/tag/f4/" rel="tag">F4</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gilliganondata.com/index.php/2008/08/03/shortest-excel-tip-ever-f4-and-ctrl-y/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Random Excel Tip: Always Available Paste Special&#8230;Values</title>
		<link>http://www.gilliganondata.com/index.php/2008/07/23/random-excel-tip-always-available-paste-specialvalues/</link>
		<comments>http://www.gilliganondata.com/index.php/2008/07/23/random-excel-tip-always-available-paste-specialvalues/#comments</comments>
		<pubDate>Thu, 24 Jul 2008 02:31:55 +0000</pubDate>
		<dc:creator>Tim Wilson</dc:creator>
				<category><![CDATA[Excel]]></category>
		<category><![CDATA[macro]]></category>
		<category><![CDATA[Paste Special]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.gilliganondata.com/?p=128</guid>
		<description><![CDATA[For a variety of reasons, I find myself using Excel (2003) through remote desktop fairly regularly these days, and I just haven&#8217;t gotten around to setting up some of the basics that I&#8217;ve got set up on my main system. The big one is my setup of &#60;Ctrl&#62;-&#60;Shift&#62;-&#60;V&#62; as Paste …]]></description>
			<content:encoded><![CDATA[<p>For a variety of reasons, I find myself using Excel (2003) through remote desktop fairly regularly these days, and I just haven&#8217;t gotten around to setting up some of the basics that I&#8217;ve got set up on my main system. The big one is my setup of &lt;Ctrl&gt;-&lt;Shift&gt;-&lt;V&gt; as <strong>Paste Special»Values</strong>.There are scads of &#8220;Excel Tips&#8221;-type sites and blogs, and I&#8217;m not putting myself out there as an expert. Really, just looking to share one of my handy favorites with my readers, who are mostly somewhere within a standard deviation or two of my Excel skill level and might find this useful.</p>
<p>Backing up just a little bit. <strong>Paste Special</strong> is really, really nice to have when you need it. Specifically, pasting values, formats, formulas&#8230;and occasionally Transpose. But&#8230;mostly (for me) pasting values. When I&#8217;ve got a well-formatted table of data and need to move some data around, it&#8217;s just annoying to need to then go and fix the formatting. So, pasting formulas only or values only avoids all that. The problem is that the fastest way to do this is:</p>
<ol>
<li>Copy the cell(s) you want to relocate (&lt;Ctrl&gt;-&lt;C&gt;)</li>
<li>Right-click anon the cell in the new location</li>
<li>Select <strong>Paste Special</strong></li>
<li>Select <strong>Values</strong></li>
<li>Click <strong>OK</strong></li>
</ol>
<p>All in all, not too painful&#8230;unless you find yourself needing to do it two or three times in a row (between separate workbooks, for instance).</p>
<p>This got annoying enough to me a several years ago that I recorded a macro and dropped it in Personal.xls so that I&#8217;d have a faster way to do this. It&#8217;s now the first thing I set up on any new computer I get.</p>
<p><strong>The Result:</strong> After copying cells (this doesn&#8217;t work with cutting data), simply click on the cell where you want the values pasted and press &lt;Ctrl&gt;-&lt;Shift&gt;-&lt;V&gt;. That&#8217;s it.</p>
<p><strong>How to Set It Up</strong></p>
<p>This may look like a real hassle. It really isn&#8217;t (those four years as a technical writer tend to make my procedure writing a bit&#8230;er&#8230;detailed). But, it&#8217;s a one-time setup, and it really isn&#8217;t that bad.</p>
<p>If you&#8217;ve read this far and aren&#8217;t thinking, &#8220;MAN! That would be HANDY!&#8221; then just bail now. Otherwise, read on:</p>
<ol>
<li>Launch Excel 2003</li>
<li>Select <strong>Window»Unhide</strong></li>
<li>Select <strong>Personal.xls</strong></li>
<li>Select <strong>Tools»Macros»Visual Basic Editor</strong>. This should bring up the VBA editor</li>
<li>Select <strong>Insert»Module</strong></li>
<li>Copy and paste the following into the window:<code>Sub PasteSpecial_Values()<br />
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _<br />
:=False, Transpose:=False<br />
End Sub</code></li>
<li>Click on the <strong>X</strong> to close the Visual Basic Editor (you don&#8217;t need to save anything yet). You should be back on the Personal.xls workbook</li>
<li>Select <strong>Tools»Macro»Macros</strong></li>
<li>Select <strong>PasteSpecial_Values</strong></li>
<li>Click <strong>Options</strong></li>
<li>Click in the <strong>Shortcut key</strong> box</li>
<li>Press &lt;Shift&gt;-&lt;V&gt;</li>
<li>Click <strong>OK</strong></li>
<li>Click the <strong>X</strong> to close the <strong>Macros</strong> window</li>
<li>Press &lt;Ctrl&gt;-&lt;S&gt; to save Personal.xls</li>
<li>Select <strong>Window»Hide</strong> to hide Personal.xls</li>
<li>Close Excel. If you are prompted to save Personal.xls, do so.</li>
</ol>
<p>You should be set. Let me know if you give it a shot and find it useful (and if you hit any bumps in implementing it).<strong>Similar Posts:</strong>
<ul class="similar-posts">
<li><a href="http://www.gilliganondata.com/index.php/2010/09/26/data-visualization-tips-and-concepts-monish-datta-calls-it-stellar/" rel="bookmark" title="September 26, 2010">Data Visualization Tips and Concepts (Monish Datta calls it &#8220;stellar&#8221;)*</a></li>
</ul>
<p><!-- Similar Posts took 25.503 ms --></p>
<hr />
<p><small>&copy; Tim for <a href="http://www.gilliganondata.com">Gilligan on Data by Tim Wilson</a>, 2008. |
<a href="http://www.gilliganondata.com/index.php/2008/07/23/random-excel-tip-always-available-paste-specialvalues/">Permalink</a> |
<a href="http://www.gilliganondata.com/index.php/2008/07/23/random-excel-tip-always-available-paste-specialvalues/#comments">6 comments</a> |
Add to
<a href="http://del.icio.us/post?url=http://www.gilliganondata.com/index.php/2008/07/23/random-excel-tip-always-available-paste-specialvalues/&amp;title=Random Excel Tip: Always Available Paste Special&#8230;Values">del.icio.us</a>
<br/>
Post tags: <a href="http://www.gilliganondata.com/index.php/tag/macro/" rel="tag">macro</a>, <a href="http://www.gilliganondata.com/index.php/tag/paste-special/" rel="tag">Paste Special</a>, <a href="http://www.gilliganondata.com/index.php/tag/tips/" rel="tag">tips</a><br/>
</small></p>
<p><small>Feed enhanced by <a href='http://planetozh.com/blog/my-projects/wordpress-plugin-better-feed-rss/'>Better Feed</a> from  <a href='http://planetozh.com/blog/'>Ozh</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gilliganondata.com/index.php/2008/07/23/random-excel-tip-always-available-paste-specialvalues/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

