sheetsmith

Templates › Clubs and groups

Choir & Band Repertoire

Made for musical directors and band leaders.

Keeps the choir's repertoire, how well each piece is known, and which pieces were sung at each performance. The summary carries a chart that redraws itself as you type.

Tabs
4
Columns
19
Fill themselves in
16

£7one payment, yours to keep

  • Opens in Excel, Google Sheets and Numbers
  • Delivered straight away
  • No macros, nothing to install
  • Change it free before you buy

Payment is handled by Stripe. Your card details go to them and never to us. Sales are final, which is why every tab, column and calculation is shown on this page first.

The workbook's summary and the table behind it
A row typed into the real file. Every figure that changes is the spreadsheet's own arithmetic.
The summary page, every figure calculated from the tables
The chart, drawn from the totals in the table beside it
What is inside: the tabs, the columns and what fills itself in
Where you type, and the shaded columns that work themselves out
The guide sheet that opens first and explains the file
Everything included in the download

Everything inside, before you pay

This is the whole design: every tab, every column and how each calculated one is worked out. White cells are yours to fill in; the shaded ones work themselves out and are locked so a formula cannot be overwritten by accident. There is room for 860 rows.

Repertoire

One row per piece the choir sings or is learning. Room for 200 rows.

ColumnTypeWorked out as
Titletext
Composertext
Arrangementtext
Length (mins)number
How Well We Know Itchoice (list)
Voice Partschoice (list)
Times PerformednumberIF(ISBLANK([title]), "", COUNTIF([Setlists!piece], [title]))

Performances

One row per concert, service or event. Room for 60 rows.

ColumnTypeWorked out as
Performancetext
Datedate
Venuetext
Typechoice (list)
Pieces SungnumberIF(ISBLANK([name]), "", COUNTIF([Setlists!performance], [name]))
Music (mins)numberIF(ISBLANK([name]), "", SUMIF([Setlists!performance], [name], [Setlists!duration]))

Setlists

One row per piece sung at a performance. Pick the performance and the piece; the rest fills itself in. Room for 600 rows.

ColumnTypeWorked out as
Performancechoice (from Performances › name)
Ordernumber
Piecechoice (from Repertoire › title)
DatedateIF(ISBLANK([performance]), "", IFERROR(INDEX([Performances!date], MATCH([performance], [Performances!name], 0)), ""))
ComposertextIF(ISBLANK([piece]), "", IFERROR(INDEX([Repertoire!composer], MATCH([piece], [Repertoire!title], 0)), ""))
Length (mins)numberIF(ISBLANK([piece]), "", IFERROR(INDEX([Repertoire!duration], MATCH([piece], [Repertoire!title], 0)), ""))

Summary

The state of the repertoire and the performance calendar at a glance.

MeasureWorked out as
Pieces in the repertoireCOUNTA([Repertoire!title])
Performance readyCOUNTIF([Repertoire!readiness], "Performance ready")
Still learning or nearly thereCOUNTIF([Repertoire!readiness], "Learning") + COUNTIF([Repertoire!readiness], "Nearly there")
Needing a refreshCOUNTIF([Repertoire!readiness], "Needs a refresh")
Total repertoire length (mins)SUM([Repertoire!duration])
Minutes ready to performSUMIF([Repertoire!readiness], "Performance ready", [Repertoire!duration])
Average piece length (mins)IFERROR(ROUND(AVERAGE([Repertoire!duration]), 1), 0)
Pieces never performedCOUNTIF([Repertoire!times_performed], 0)
Performances this yearCOUNTIFS([Performances!date], ">=" & DATE(YEAR(TODAY()), 1, 1), [Performances!date], "<=" & TODAY())
Upcoming performancesCOUNTIF([Performances!date], ">" & TODAY())