Hi guys,
I'm usually able to find creative solutions in Excel, but this one had me stumped yesterday. I have a list of ~850 transactions, one per row, with the following details for each:
For each Gold status, I want to count the number of session starts the system saw since the last Gold session finished. [Grab the full data set from here.]
<p style="width:3.6em;font-weight:bold;margin:0;padding:0.2em 0.6em 0.2em 0.5em;border: 1px solid #BBB;border-top:none;text-align: center;background-color: #DAE7F5;color: #161120">Sheet1</p>
Below is the method I employed, which involves multiple formulas & iterations:
<p style="width:3.6em;font-weight:bold;margin:0;padding:0.2em 0.6em 0.2em 0.5em;border: 1px solid #BBB;border-top:none;text-align: center;background-color: #DAE7F5;color: #161120">Sheet1</p><br /><br /><table width="85%" cellpadding="2.5px" rules="all" style=";border: 2px solid black;border-collapse:collapse;padding: 0.4em;background-color: #FFFFFF" ><tr><td style="padding:6px" ><b>Worksheet Formulas</b><table cellpadding="2.5px" width="100%" rules="all" style="border: 1px solid;text-align:center;background-color: #FFFFFF;border-collapse: collapse; border-color: #BBB"><thead><tr style=" background-color: #DAE7F5;color: #161120"><th width="10px">Cell</th><th style="text-align:left;padding-left:5px;">Formula</th></tr></thead><tbody><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">H2</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B2<>"Gold",$C2>=$G$2,$C2<=$F$2</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">I2</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B2<>"Gold",$C2>=$G$3,$C2<=$F$3</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">J2</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B2<>"Gold",$C2>=$G$4,$C2<=$F$4</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">K2</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B2<>"Gold",$C2>=$G$5,$C2<=$F$5</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">F2</th><td style="text-align:left">=IF(<font color="Blue">B2="Gold",C2,0</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">F3</th><td style="text-align:left">=IF(<font color="Blue">B3="Gold",C3,0</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">F4</th><td style="text-align:left">=IF(<font color="Blue">B4="Gold",C4,0</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">F5</th><td style="text-align:left">=IF(<font color="Blue">B5="Gold",C5,0</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">F6</th><td style="text-align:left">=IF(<font color="Blue">B6="Gold",C6,0</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">F7</th><td style="text-align:left">=IF(<font color="Blue">B7="Gold",C7,0</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">F8</th><td style="text-align:left">=IF(<font color="Blue">B8="Gold",C8,0</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">F9</th><td style="text-align:left">=IF(<font color="Blue">B9="Gold",C9,0</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">F10</th><td style="text-align:left">=IF(<font color="Blue">B10="Gold",C10,0</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">F11</th><td style="text-align:left">=IF(<font color="Blue">B11="Gold",C11,0</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">F12</th><td style="text-align:left">=IF(<font color="Blue">B12="Gold",C12,0</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">G3</th><td style="text-align:left">=IF(<font color="Blue">F3<>0,MAX(<font color="Red">F$2:F2</font>),F3</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">H3</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B3<>"Gold",$C3>=$G$2,$C3<=$F$2</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">I3</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B3<>"Gold",$C3>=$G$3,$C3<=$F$3</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">J3</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B3<>"Gold",$C3>=$G$4,$C3<=$F$4</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">K3</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B3<>"Gold",$C3>=$G$5,$C3<=$F$5</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">G4</th><td style="text-align:left">=IF(<font color="Blue">F4<>0,MAX(<font color="Red">F$2:F3</font>),F4</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">H4</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B4<>"Gold",$C4>=$G$2,$C4<=$F$2</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">I4</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B4<>"Gold",$C4>=$G$3,$C4<=$F$3</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">J4</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B4<>"Gold",$C4>=$G$4,$C4<=$F$4</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">K4</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B4<>"Gold",$C4>=$G$5,$C4<=$F$5</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">G5</th><td style="text-align:left">=IF(<font color="Blue">F5<>0,MAX(<font color="Red">F$2:F4</font>),F5</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">H5</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B5<>"Gold",$C5>=$G$2,$C5<=$F$2</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">I5</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B5<>"Gold",$C5>=$G$3,$C5<=$F$3</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">J5</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B5<>"Gold",$C5>=$G$4,$C5<=$F$4</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">K5</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B5<>"Gold",$C5>=$G$5,$C5<=$F$5</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">G6</th><td style="text-align:left">=IF(<font color="Blue">F6<>0,MAX(<font color="Red">F$2:F5</font>),F6</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">H6</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B6<>"Gold",$C6>=$G$2,$C6<=$F$2</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">I6</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B6<>"Gold",$C6>=$G$3,$C6<=$F$3</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">J6</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B6<>"Gold",$C6>=$G$4,$C6<=$F$4</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">K6</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B6<>"Gold",$C6>=$G$5,$C6<=$F$5</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">G7</th><td style="text-align:left">=IF(<font color="Blue">F7<>0,MAX(<font color="Red">F$2:F6</font>),F7</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">H7</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B7<>"Gold",$C7>=$G$2,$C7<=$F$2</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">I7</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B7<>"Gold",$C7>=$G$3,$C7<=$F$3</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">J7</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B7<>"Gold",$C7>=$G$4,$C7<=$F$4</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">K7</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B7<>"Gold",$C7>=$G$5,$C7<=$F$5</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">G8</th><td style="text-align:left">=IF(<font color="Blue">F8<>0,MAX(<font color="Red">F$2:F7</font>),F8</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">H8</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B8<>"Gold",$C8>=$G$2,$C8<=$F$2</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">I8</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B8<>"Gold",$C8>=$G$3,$C8<=$F$3</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">J8</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B8<>"Gold",$C8>=$G$4,$C8<=$F$4</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">K8</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B8<>"Gold",$C8>=$G$5,$C8<=$F$5</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">G9</th><td style="text-align:left">=IF(<font color="Blue">F9<>0,MAX(<font color="Red">F$2:F8</font>),F9</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">H9</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B9<>"Gold",$C9>=$G$2,$C9<=$F$2</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">I9</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B9<>"Gold",$C9>=$G$3,$C9<=$F$3</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">J9</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B9<>"Gold",$C9>=$G$4,$C9<=$F$4</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">K9</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B9<>"Gold",$C9>=$G$5,$C9<=$F$5</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">G10</th><td style="text-align:left">=IF(<font color="Blue">F10<>0,MAX(<font color="Red">F$2:F9</font>),F10</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">H10</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B10<>"Gold",$C10>=$G$2,$C10<=$F$2</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">I10</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B10<>"Gold",$C10>=$G$3,$C10<=$F$3</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">J10</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B10<>"Gold",$C10>=$G$4,$C10<=$F$4</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">K10</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B10<>"Gold",$C10>=$G$5,$C10<=$F$5</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">G11</th><td style="text-align:left">=IF(<font color="Blue">F11<>0,MAX(<font color="Red">F$2:F10</font>),F11</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">H11</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B11<>"Gold",$C11>=$G$2,$C11<=$F$2</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">I11</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B11<>"Gold",$C11>=$G$3,$C11<=$F$3</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">J11</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B11<>"Gold",$C11>=$G$4,$C11<=$F$4</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">K11</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B11<>"Gold",$C11>=$G$5,$C11<=$F$5</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">G12</th><td style="text-align:left">=IF(<font color="Blue">F12<>0,MAX(<font color="Red">F$2:F11</font>),F12</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">H12</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B12<>"Gold",$C12>=$G$2,$C12<=$F$2</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">I12</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B12<>"Gold",$C12>=$G$3,$C12<=$F$3</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">J12</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B12<>"Gold",$C12>=$G$4,$C12<=$F$4</font>),"T","F"</font>)</td></tr><tr><th width="10px" style=" background-color: #DAE7F5;color: #161120">K12</th><td style="text-align:left">=IF(<font color="Blue">AND(<font color="Red">$B12<>"Gold",$C12>=$G$5,$C12<=$F$5</font>),"T","F"</font>)</td></tr></tbody></table></td></tr></table>
Note that I iterated that formula across ~850 columns with $s added/removed strategically and the paste special > Transpose feature. I then did a COUNTIF by column for "T", transposed that result vertically, and voila!
Surely there's an easier way; I'm ready to learn. Thanks in advance for any assistance provided!
[Win 7 / Excel 2013]
I'm usually able to find creative solutions in Excel, but this one had me stumped yesterday. I have a list of ~850 transactions, one per row, with the following details for each:
- Transaction code
- Status returned (Gold, Silver, Bronze, or Platinum)
- Session start timestamp
- Session finish timestamp
For each Gold status, I want to count the number of session starts the system saw since the last Gold session finished. [Grab the full data set from here.]
Excel 2012 | |||||||
---|---|---|---|---|---|---|---|
A | B | C | D | E | |||
1 | TCode | Status | Start Timestamp | Finish Timestamp | # starts since the last Gold finish | ||
2 | N1HRRJ38BGMR79 | Platinum | 6/26/2015 15:21 | 6/26/2015 15:22 | ? | ||
3 | N1HRRLZN6P8L75 | Silver | 6/26/2015 15:25 | 6/26/2015 15:26 | ? | ||
4 | N1HRRN25DTHBTH | Silver | 6/26/2015 15:27 | 6/26/2015 15:27 | ? | ||
5 | N1HRRLYQGHSBZ3 | Gold | 6/26/2015 15:25 | 6/26/2015 15:31 | ? | ||
6 | N1HRRT82BK8959 | Silver | 6/26/2015 15:34 | 6/26/2015 15:35 | ? | ||
7 | N1HRRSTRHRTRBF | Silver | 6/26/2015 15:33 | 6/26/2015 15:36 | ? | ||
8 | N1HRRQY9VK3XZF | Gold | 6/26/2015 15:29 | 6/26/2015 15:39 | ? | ||
9 | N1HRRY97577LVK | Silver | 6/26/2015 15:40 | 6/26/2015 15:41 | ? | ||
10 | N1HRRRW5X57YK8 | Bronze | 6/26/2015 15:31 | 6/26/2015 15:54 | ? | ||
11 | N1HRS8D9GG28MB | Silver | 6/26/2015 15:57 | 6/26/2015 15:57 | ? | ||
12 | N1HRSXPXHGZXNN | Gold | 6/26/2015 16:13 | 6/26/2015 16:21 | ? | ||
Sheet1 |
Below is the method I employed, which involves multiple formulas & iterations:
Excel 2012 | ||||||||
---|---|---|---|---|---|---|---|---|
F | G | H | I | J | K | |||
1 | Gold Finish | Prev Gold Finish | Iterate Row 2 | Iterate Row 3 | Iterate Row 4 | Iterate Row 5 | ||
2 | 1/0/1900 0:00 | 1/0/1900 0:00 | F | F | F | T | ||
3 | 1/0/1900 0:00 | 1/0/1900 0:00 | F | F | F | T | ||
4 | 1/0/1900 0:00 | 1/0/1900 0:00 | F | F | F | F | ||
5 | 6/26/2015 15:25 | 1/0/1900 0:00 | F | F | F | F | ||
6 | 1/0/1900 0:00 | 1/0/1900 0:00 | F | F | F | F | ||
7 | 1/0/1900 0:00 | 1/0/1900 0:00 | F | F | F | F | ||
8 | 6/26/2015 15:29 | 6/26/2015 15:25 | F | F | F | F | ||
9 | 1/0/1900 0:00 | 1/0/1900 0:00 | F | F | F | F | ||
10 | 1/0/1900 0:00 | 1/0/1900 0:00 | F | F | F | F | ||
11 | 1/0/1900 0:00 | 1/0/1900 0:00 | F | F | F | F | ||
12 | 6/26/2015 16:13 | 6/26/2015 15:29 | F | F | F | F | ||
Sheet1 |
Note that I iterated that formula across ~850 columns with $s added/removed strategically and the paste special > Transpose feature. I then did a COUNTIF by column for "T", transposed that result vertically, and voila!
Surely there's an easier way; I'm ready to learn. Thanks in advance for any assistance provided!

[Win 7 / Excel 2013]