Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
ParTeeGolfer
 
Posts: n/a
Default longet Win streak

Ok, I am tring to figure out how to automaticlly keep track of a column with
wins and losses in it containing "L" or "W" and detrmine the longest winning
streak

EXAMPLE:

W
L
W
W
W
W
L
W
W
L

By looking at the column I can tell that the longest winning streak is 4.
How can I create a formula to keep track of this automatically?

Any Suggestions?

Please Help!
  #2   Report Post  
Ron Rosenfeld
 
Posts: n/a
Default

On Sat, 8 Jan 2005 17:41:02 -0800, ParTeeGolfer
wrote:

Ok, I am tring to figure out how to automaticlly keep track of a column with
wins and losses in it containing "L" or "W" and detrmine the longest winning
streak

EXAMPLE:

W
L
W
W
W
W
L
W
W
L

By looking at the column I can tell that the longest winning streak is 4.
How can I create a formula to keep track of this automatically?

Any Suggestions?

Please Help!


A formula solution is pretty complicated. You can adapt Harlan's solution in
the thread at
http://groups-beta.google.com/group/...fe0c55d264800d

A UDF might be simpler. To enter this, <alt<F11 opens the VB editor. Ensure
your project is highlighted in the project explorer, then Insert/Module and
paste the code below into the window that opens.

To use this UDF, enter the formula =MAXWINSTREAK(A1:A10) (or some other range)
into some cell. Read the answer 4 from your example.

=========================
Function MaxWinStreak(rg As Range) As Integer
Const Wins As String = "W"
Dim c As Range
Dim TempWins As Integer

For Each c In rg
If c.Text = Wins Then
TempWins = TempWins + 1
Else
If TempWins MaxWinStreak Then MaxWinStreak = TempWins
TempWins = 0
End If
Next c

End Function
========================


--ron
  #3   Report Post  
William
 
Posts: n/a
Default

Hi

Perhaps you could use a function similar to the one below - copy the code
into a general module of the relevant workbook. I assume your list is in
column A. Then in any cell enter =longeststreak() to return the figure.

Function longeststreak()
Application.Volatile
Dim r As Range, c As Range, l As Long, i As Long
i = 0
l = 0
With ActiveSheet
Set r = .Range(.Range("A1"), _
..Range("A" & Rows.Count).End(xlUp))
For Each c In r
If c = "W" Then
i = i + 1
Else
i = 0
End If
If i l Then l = i
Next c
End With
longeststreak = l
End Function

--
XL2002
Regards

William



"ParTeeGolfer" wrote in message
...
| Ok, I am tring to figure out how to automaticlly keep track of a column
with
| wins and losses in it containing "L" or "W" and detrmine the longest
winning
| streak
|
| EXAMPLE:
|
| W
| L
| W
| W
| W
| W
| L
| W
| W
| L
|
| By looking at the column I can tell that the longest winning streak is
4.
| How can I create a formula to keep track of this automatically?
|
| Any Suggestions?
|
| Please Help!





  #4   Report Post  
ParTeeGolfer
 
Posts: n/a
Default

Ron,

This helped out and did exactly what I needed.
Thanks for the help!!
"Ron Rosenfeld" wrote:

On Sat, 8 Jan 2005 17:41:02 -0800, ParTeeGolfer
wrote:

Ok, I am tring to figure out how to automaticlly keep track of a column with
wins and losses in it containing "L" or "W" and detrmine the longest winning
streak

EXAMPLE:

W
L
W
W
W
W
L
W
W
L

By looking at the column I can tell that the longest winning streak is 4.
How can I create a formula to keep track of this automatically?

Any Suggestions?

Please Help!


A formula solution is pretty complicated. You can adapt Harlan's solution in
the thread at
http://groups-beta.google.com/group/...fe0c55d264800d

A UDF might be simpler. To enter this, <alt<F11 opens the VB editor. Ensure
your project is highlighted in the project explorer, then Insert/Module and
paste the code below into the window that opens.

To use this UDF, enter the formula =MAXWINSTREAK(A1:A10) (or some other range)
into some cell. Read the answer 4 from your example.

=========================
Function MaxWinStreak(rg As Range) As Integer
Const Wins As String = "W"
Dim c As Range
Dim TempWins As Integer

For Each c In rg
If c.Text = Wins Then
TempWins = TempWins + 1
Else
If TempWins MaxWinStreak Then MaxWinStreak = TempWins
TempWins = 0
End If
Next c

End Function
========================


--ron

  #5   Report Post  
Harlan Grove
 
Posts: n/a
Default

"Ron Rosenfeld" wrote...
....
Function MaxWinStreak(rg As Range) As Integer
Const Wins As String = "W"
Dim c As Range
Dim TempWins As Integer

For Each c In rg
If c.Text = Wins Then
TempWins = TempWins + 1
Else
If TempWins MaxWinStreak Then MaxWinStreak = TempWins
TempWins = 0
End If
Next c

End Function


If every cell is a win, this function returns zero. If you're going to use
this approach, you have to add another

If TempWins MaxWinStreak Then MaxWinStreak = TempWins

statement after the For loop.




  #6   Report Post  
Ron Rosenfeld
 
Posts: n/a
Default

On Sat, 8 Jan 2005 23:29:49 -0800, "Harlan Grove" wrote:

If every cell is a win, this function returns zero. If you're going to use
this approach, you have to add another

If TempWins MaxWinStreak Then MaxWinStreak = TempWins

statement after the For loop.


Good catch. Thanks.
--ron
  #7   Report Post  
Ron Rosenfeld
 
Posts: n/a
Default

On Sat, 8 Jan 2005 19:29:02 -0800, ParTeeGolfer
wrote:

Ron,

This helped out and did exactly what I needed.
Thanks for the help!!


You're welcome. But see Harlan's note and correct the UDF as follows to take
care of the situation where there are all W's:

===========================
Function MaxWinStreak(rg As Range) As Integer
Const Wins As String = "W"
Dim c As Range
Dim TempWins As Integer

For Each c In rg
If c.Text = Wins Then
TempWins = TempWins + 1
Else
If TempWins MaxWinStreak Then MaxWinStreak = TempWins
TempWins = 0
End If
Next c

If TempWins MaxWinStreak Then MaxWinStreak = TempWins

End Function
==========================


--ron
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Winning Streak ParTeeGolfer Excel Worksheet Functions 4 December 31st 04 11:08 PM


All times are GMT +1. The time now is 10:32 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"