音楽グループのGoogleスプレッドシートのリファレンスシートを編集しています。私たちはカバーを演奏し、グループの全員が提案に貢献することができます。これらの提案は、シート1を構成しています。このシートには、特定の曲のタイトルとアーティスト、必要なパーツ(楽器など)およびそのプレーヤーが含まれています。少しこのように見えます:Artist Song | Vocals Guitar Bass Drums Keys U2 One | Bob Jeremy Alex Nina The xx intro | Jim Jeremy Betsy Carl Donald ABBA S.O.S. | Nina + Bob Lisa ? Jillian Bob
ここのU2の歌にはキーの部分がないため、そのセルは空です。 ABBAの曲には、指定されたベースプレーヤーはまだありません。この歌には2人の歌手もいます(詳細は後ほど)
プレーヤーの可用性の記録を保持する2番目のシートがあります。左の列にはすべてのプレーヤーがリストされ、上の列にはプレイした日付があります。データ検証を使用して、「はい」または「いいえ」のみがオプション(または空)であることを確認しています。
最後に、3枚目のシートがあります。ここで、魔法を発生させたい場所です。このシートには、完全なセットアップが配置されたシート1の曲のみが表示されます。上記の例では、これはリストの最初の2曲になります。 here で説明したように、このためにFilterを使用しています。各エントリの横に表示したいのは、特定の瞬間に曲を再生できるかどうかです。
これを実現する方法を考えましたが、私はまだ初心者なので、どの構文を使用するのかわかりません。これに取り組む方法の私のアイデア:
可能であれば、すでに確認されている部品の数を記録したい(たとえば、4/5部品が使用可能であることが確認されている)、これが可能性の領域内に留まる場合:)また、同じ複数の部品にどのように取り組むか(もっと列を作ることができます..)または同じ部分に複数のプレーヤー(これを持っていることは非常にいいでしょうが、私はこれが本当にできないと感じています..)?上記のABBAソングの例で、ボブが利用可能であるがニーナが利用できない場合。
私の思考プロセスは(ある程度)正しいですか?はいの場合、そのような偉業をどのように達成しますか?
まあ、魔法は4つのサブマジックステップと1つのボーナスマジックで構成されています。
1:これは与えられたカバー(曲)のプレイヤー(ミュージシャン)の名前をリストし、空のセルなしですべて1列にソートします
=TRANSPOSE(SORT(FILTER(Suggestions!F4:Q4,Suggestions!F4:Q4<>""),4,TRUE))
2:これは、与えられた日付に、与えられたカバーを演奏するのに必要なミュージシャンがいるミュージシャンがいるかどうかを確認し、相互参照します。それはその日に役に立つ
=IF($B2<>"",(IFERROR(FILTER(
(SORT(FILTER(Availability!$A$3:$A,Availability!B$3:B="YES"))),
REGEXMATCH(
(SORT(FILTER(Availability!$A$3:$A,Availability!B$3:B="YES"))),
$B2)),"")),"")
3:それから、基本的に一致する人の名前を番号1
に変換するこのマイナーな式があります。前の式には隠れている多くのエラーがあるため
=IF($B2<>"",(IF($B2=C2,1,"")),"")
4:そして最終的にこれは最終的な計算を行い、与えられたカバーが与えられた日付に仕様のミュージシャンで実行できるかどうかをチェックします
=IF((COUNTIF(Calculations!$B$2:$B$30,"<>")=(SUM(Calculations!N$2:N$30))),"YES","NO")
SIDE NOTE:この種類の形式は使用できません:Franca/Jerome
「Suggestions」シートの1つのカテゴリの下に2人以上の人を持ちたい場合は、2つ以上の列を追加し、各人を別のセルに配置する必要があります。 )最初に行う必要があります!
そしてもちろんCalculationsという名前の追加のシートを設定し、ステップ1〜3でそれを埋める必要があります。それをすべて。以下にサンプルシートを示します(動作と動作の証明):https://docs.google.com/spreadsheets/d/