Forum Discussion

philBar585's avatar
philBar585
Copper Contributor
Apr 08, 2024

named golf players duplicated in the order of play. Used formula in each order of play

using formula  :-

==@INDEX($B$5:$B$12,RANK(C6,$C$5:$C$12))

  • philBar585 

    I haven't much of an idea what is required but at least this was entertaining!

    What is did was to use lori_m 's random number generator to assign a pseudo-random integer to each name.  Then sort the names by the random number and divide into pairs.

    = LET(
        rand, PseudoRandλ(ROWS(player),  seed),
        list, SORTBY(player, rand),
        WRAPROWS(list, 2)
      )

    where the pseudo-random number generator is given by Lorimer Miller's

    PseudoRandλ
    = LAMBDA(length, [seed],
        TAKE(
          SCAN(
            IF(ISOMITTED(seed), 123456789, seed),
            SEQUENCE(length,,, 0) * {13, -17, 5},
            LAMBDA(s, i, BITXOR(s, BITAND(BITLSHIFT(s, i), 2^32 - 1)))
          ),
          ,
          -1
        )
      )

  • NikolinoDE's avatar
    NikolinoDE
    Gold Contributor

    philBar585 

    The formula you provided is using the INDEX and RANK functions to retrieve the name of the golf player based on their ranking in the list of players. This formula can work well for your task, especially if you have unique rankings for each player.

    However, there are a couple of considerations to keep in mind:

    1. Handling Duplicates: If multiple players have the same ranking, the RANK function will return the rank of the first occurrence of the value. This means that if two or more players have the same rank, they will be assigned in the order of their appearance in the list. If you want to handle duplicates differently, you may need to adjust your approach.
    2. Data Validity: Ensure that your data ranges ($B$5:$B$12 and $C$5:$C$12) cover all the players and their corresponding ranks accurately. Any changes to the data (e.g., adding or removing players) should be reflected in these ranges to avoid errors.

    Overall, if your data structure and requirements align with the assumptions made by the formula, it should work fine for your task. If you encounter any issues or have specific requirements, feel free to provide more details for further assistance.

     

    In the end, however, without more information about your specific situation, it's difficult to say for sure that this formula solve your problem. The text was created with the help of AI.

  • Patrick2788's avatar
    Patrick2788
    Silver Contributor

    philBar585 

    I hope I'm reading this request correctly. The issue is how to deal with ties in the scores?

     

    You could use FILTER, for example:

    =LET(leader, MIN(Score), FILTER(Player, Score = leader))

     

    • philBar585's avatar
      philBar585
      Copper Contributor

      Patrick2788 

      not got the correct changes Patrick.

      The object is to setup 4 ball matchs from the golfers listed so they are in the teams. They Having a list of players now need to set the 4 ball groups. No scores required. Handicaps not known at the start. When checking the list I placed the players in line with a random number. This is fine, but I need to eliminate where the same golfer is mentioned twice so the spread across the 8 balls. I set this from using random numbers against the golfers across all the players. No scores mentioned

      Would be obliged if you could determining the correct formula so no duplicates shown

      • Patrick2788's avatar
        Patrick2788
        Silver Contributor
        Do you happen to have an anonymized sample workbook you can share?

Resources