Trying to create a snake draft

thp510

Board Regular
Joined
Oct 19, 2015
Messages
110
Office Version
  1. 365
Platform
  1. Windows
I have a list of 3 individuals that I would like to assign using a snake draft (similar to a fantasy football style draft), where the the last person to pick something is the next person to pick. For example, there are 3 people (Amy, John, Bob) and here's their pick order: Amy goes 1st, John goes 2nd, and Bob goes 3rd. Here's the first 12th pick order.

1st Pick: Amy
2nd Pick: John
3rd Pick: Bob
4th Pick: Bob
5th Pick: John
6th Pick: Amy
7th Pick: Amy
8th Pick: John
9th Pick: Bob
10th Pick: Bob
11th Pick: John
12th Pick: Amy

You get the picture. I want to create an equation where I can just populate the first 3 names and then drag the rest of the cells down the rows.
Snake.JPG

What equation would I put in cell C4?
 

Excel Facts

What is =ROMAN(40) in Excel?
The Roman numeral for 40 is XL. Bill "MrExcel" Jelen's 40th book was called MrExcel XL.
Hi Fluff. Here's a view with my code (pic). It looks like it's just one off and I can't for the life of me figure out why that is.
 

Attachments

  • snake pic update.jpg
    snake pic update.jpg
    188.3 KB · Views: 51
Upvote 0
The first cell the formula goes in should have ROW(A1), not A2
 
Upvote 0
Here's a slightly different approach:

Cell Formulas
RangeFormula
A1:A18A1="Pick "&ROW()
B1:B18B1=INDEX(C:C,ABS(IF(MOD(ROW()-1,COUNTA(C:C)*2)<COUNTA(C:C),-1,COUNTA(C:C)*2)-MOD(ROW()-1,COUNTA(C:C)*2)))


Put a list of your names in column C. Put the B1 formula in and drag down. If you have more names, just add them to column C and the formula will automatically adjust.
 
Upvote 0
You're welcome, but Eric has a much nicer way of doing it & easier to change the number of people.
 
Upvote 0
Here's a slightly different approach:

Cell Formulas
RangeFormula
A1:A18A1="Pick "&ROW()
B1:B18B1=INDEX(C:C,ABS(IF(MOD(ROW()-1,COUNTA(C:C)*2)<COUNTA(C:C),-1,COUNTA(C:C)*2)-MOD(ROW()-1,COUNTA(C:C)*2)))


Put a list of your names in column C. Put the B1 formula in and drag down. If you have more names, just add them to column C and the formula will automatically adjust.
This is great as well. Thank you so much!
 
Upvote 0
One thought. If you put a heading row, like in your example from post 12, you'd need to change ROW() to ROW(A1) in the first row you put the formula, like in Fluff's case. If you put a heading on the C column where the names are, change COUNTA(C:C) to COUNTA(C$2:C$99) everywhere.

Anyway, I'm glad you got something that works for you!
 
Upvote 0
One thought. If you put a heading row, like in your example from post 12, you'd need to change ROW() to ROW(A1) in the first row you put the formula, like in Fluff's case. If you put a heading on the C column where the names are, change COUNTA(C:C) to COUNTA(C$2:C$99) everywhere.

Anyway, I'm glad you got something that works for you!
Hi Eric. Quick follow up question. I did the method you had recommended however my lists starts at at the 4th person down the list versus the 1st person. See pic.

In cell B4 I'm using the formula: =INDEX($D$4:$D$26,ABS(IF(MOD(ROW(A4)-1,COUNTA($D$4:$D$26)*2)<COUNTA($D$4:$D$26),-1,COUNTA($D$4:$D$26)*2)-MOD(ROW(A4)-1,COUNTA($D$4:$D$26)*2)))

Do you know how B4 gives me "Name 1" versus "Name 4"?

Thank you again!
 

Attachments

  • excelsnake.PNG
    excelsnake.PNG
    32.5 KB · Views: 21
Upvote 0
Even though your formula is in B4, you need to put A1 in it, instead of A4. Or this might be a little clearer:

Book1
ABCD
1
2
3AccountRecommended Owner
4aaaName 1Name 1
5bbbName 2Name 2
6cccName 3Name 3
7dddName 4Name 4
8eeeName 5Name 5
9fffName 6Name 6
10Name 7Name 7
11Name 8Name 8
12Name 9Name 9
13Name 10Name 10
14Name 11Name 11
15Name 12Name 12
16Name 13Name 13
17Name 14Name 14
18Name 15Name 15
19Name 16Name 16
20Name 17Name 17
21Name 18Name 18
22Name 19Name 19
23Name 20Name 20
24Name 21Name 21
25Name 22Name 22
26Name 23Name 23
27Name 23
28Name 22
29Name 21
Sheet25
Cell Formulas
RangeFormula
B4:B29B4=INDEX($D$4:$D$99,ABS(IF(MOD(ROWS(B$4:B4)-1,COUNTA($D$4:$D$99)*2)<COUNTA($D$4:$D$99),-1,COUNTA($D$4:$D$99)*2)-MOD(ROWS(B$4:B4)-1,COUNTA($D$4:$D$99)*2)))
 
Upvote 0
Solution

Forum statistics

Threads
1,223,911
Messages
6,175,327
Members
452,635
Latest member
laura12345

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top