7. Spreadsheets - advanced

VolleyStation Pro offers powerful tools for analyzing volleyball data, and once you've mastered the basics of building spreadsheets, the next step is making them smarter and more flexible. In this part of our ongoing guide to advanced spreadsheet features, we’ll introduce functions like VSCELL for dynamic data referencing, VSPLAYS and VSRANGE for precise play-by-play analysis, and VSFORMAT for customizable visualizations. You’ll also learn how to enhance usability with dropdowns, apply IF logic, and clean up complex formulas using an Excel beautifier. These features will help you create more responsive and insightful spreadsheets that adapt to different players, rotations, and scenarios — without needing to rewrite formulas each time.

FUNCTION VSCELL

VSCELL allows you to reference data contained in other cells in this spreadsheet. (1) and (2) are elements of the function, which means that in the place where you put (1), you take the data from the first cell that you refer to in this function. 

In this case, we use the function VSCELL, then we have a prefix for the home team *, and then we need the player's number, which is in cell H4so we put (1) before the R and then after coma, we will put H4 as the first cell that we will refer to. Then we need the reception zone, which is in cell H5, so we put (2) after the reception, and as the second cell, we put H5. That's why we have the following:

VSCELL("*(1)R(2)0;B-0",H4,H5)

This VSCELL function allows us to change our data by simply changing the numbers in the cells we refer to instead of changing the whole function whenever we want to analyze a different zone or player.


VSCELL FORMULAS:


  • =VSPER(VSAND(VSCELL("(1)R#;*Z(2)",A5,C$1),"aS10;P-1"))returns the percentage of perfect reception of the player defined in cell A5, in the rotation defined in cell C1 when the serve was played from zone 1.


  • =VSPER(VSOR(VSCELL("(1)A/;*PS(2)",A5,C$1),VSCELL("(1)A=;*PS(2)",A5,C$1))) - returns the percentage of attack errors and blocked attacks of the player defined in cell A5, while the setter from cell C1 was present on the court.


  • =ROUND(IF(VSCOUNT(VSCELL("(1)A40#",$A5))=0;"";VSCOUNT(VSCELL("(1)X5#",$A5))/VSCOUNT(VSCELL("(1)A40#",$A5))),2) - works like this - if there weren’t any kills performed by player defined in cell A5, the cell will be empty, otherwise this formula shows what percentage of kills from zone 4 of player defined in cell A5 were quick attacks.



ANALYSIS PLAY BY PLAY

VSPLAYS – a function used in play-by-play analysis that counts plays, similar to the VSCOUNT function.

VSRANGE – limits the range of plays considered by the VSPLAYS function.

VSMAP – filters the plays identified by VSPLAYS to extract specific information.


  • =VSMAP(VSPLAYS("*R;*Z6", VSRANGE("1:1")), "player"returns the number of the player who received the first ball in the match while in rotation 6 on the home team.


  • =VSMAP(VSPLAYS(VSAND(VSCELL("(1)A;*Z1",$C$4),"*R;B-0"),VSRANGE($E6&":"&E6)),
    "combination,effect")) - returns the combination and effect of the attack of the player defined in cell C4 in the first rotation from the range defined in the cell E6.


 



VSRANGE defines the range of plays to be selected in the following ways:

  • VSRANGE("1:5") - selects the first five actions.

  • VSRANGE("1:5L")  - selects the last five actions.

  • VSRANGE("3:3") - selects only the third action from the list

  • VSRANGE("5:*") - selects all actions from the fifth one onward.


VSFORMAT

To organize the data and improve its readability, we have also added the VSFORMAT function. This is a separate function that works only inside the VSCOURT function. It allows you to specify the type of line, start and end symbol, as well as the colors. In addition, it can be used multiple times within the VSCOURT function.


 =VSCOURT("*9A40#",1.5, VSFORMAT("*9X5#","line-color:blue, line-style:dashed,end-color:blue,end-style:circle")VSFORMAT("*9V5#","line-style:dotted, line-color:cyan,end-style:diamond,end-color:cyan"))

Besides that,:

  • VSFORMAT(“”,”line-style:none,end-style:none”) shows all (“”) plays indicated in the VSCOURT(“*A”) function, where the line and end point are not visible (“line-style:none,end-style:none”),

  • VSFORMAT(“*A#”,”end-style:circle,start-style:plus”) formats kill attacks of the selected team (“*A#”), so the end point is a circle and the start point is a plus (“end-style:circle,start-style:plus”),

  • VSFORMAT(“*X5#”,”start-color:red,end-color:red”) formats X5 kill attacks of the selected team (“*X5#”), so the start point and end point are marked in red (“start-color:red,end-color:red”).


The VSFORMAT function allows you to use:

  •  colors: 

    • red,

    • green,

    • blue,

    • yellow,

    • cyan,

    • magenta,

    • black,

  • line styles: 

    • line, 

    • dashed,

    • dotted,

    • none,

  • end/start lines:

    • cross, 

    • circle,

    • square,

    • arrow,

    • diamond,

    • plus,

    • none.


EXCEL BEAUTIFIER

An Excel beautifier helps make long, complex formulas more readable by adding spaces, line breaks, and formatting, which is useful for complex calculations like counting repeated sets after attack errors. For example we can use it when we want to create a formula that counts how many times the setter repeats the set to the same player after his attack error.


DROPDOWN

Dropdown menus allow selecting from a list of options, making spreadsheet entry faster and reducing errors. To add a dropdown, click on the cell where you want it, then use the “Dropdown” button in the menu. After that, select the range of cells that has the list of choices—for example, from B4 to B14. Once it’s set up, you’ll see a small arrow in the cell, and you can click it to pick one of the options from the list.


IF FUNCTION

IF function works like in Excel, first you need to have the condition; after coma, you have a function result if the condition is fulfilled, and after the second coma is the result if the condition is not fulfilled.

The formula that counts what % of kills was in the side-out: 

  • =IF(VSCOUNT("*22A#")=0,"—",VSCOUNT(VSAND("*22A#","*R;B-0"))/VSCOUNT("*22A#"))

It means that if player #22 didn't have any kills, the cell would be blank, and if he had, then we divide the number of kills that happened in the first ball by the number of all kills.

The formula for # of kills in the transition per set looks like this:

  • =IF(VSSETCOUNT("*22")=0,"—",VSCOUNT(VSAND("*22A#","*R;B-0;NOT"))/VSSETCOUNT("*22”))

If player #22 didn't play in any set, the cell would be blank; otherwise, the number of kills played in transition by this player will be divided by the number of sets in which this player was on the court.

This formula counts what percentage of serves of a player whose number is in cell B3 was jump serve:

  • =IF(VSCOUNT(VSCELL("(1)S",Sheet1!$B3))=0,"",VSCOUNT(VSCELL("(1)SQ",Sheet1!$B3))/VSCOUNT(VSCELL("(1)S",Sheet1!$B3)))


These advanced features give you greater control and flexibility in how you structure and interpret volleyball data within VolleyStation Pro. Whether you're comparing player performance across rotations or visualizing plays in more detail, tools like VSCELLVSPLAYS, and VSFORMAT allow you to build spreadsheets that not only inform but adapt to your needs. As you experiment with these functions, don’t forget that the default “Tutorial” spreadsheet in the app includes many working examples to help guide you. Stay tuned for more tips and tools that will take your volleyball analysis to the next level.


Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article