web-dev-qa-db-ja.com

他のセルとシートの値に基づいて、結合された要件の進捗を表示します

音楽グループの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を使用しています。各エントリの横に表示したいのは、特定の瞬間に曲を再生できるかどうかです。

これを実現する方法を考えましたが、私はまだ初心者なので、どの構文を使用するのかわかりません。これに取り組む方法の私のアイデア:

  1. 対応する列の日付を確認し続けます
  2. 曲名を確認してください(十分に一意である必要がありますが、アーティストと組み合わせて非常に柔軟に対応できます)
  3. 曲を最初のシートと相互参照し、必要な最初の部分を探します(空か名前があります)。空の場合は、次の部分に進みます。
  4. 可用性シートでこの名前を検索し、その人がステップ1の日付にいるかどうかを確認します。
  5. すべての部品について手順3と4を繰り返します。
  6. 結果を提示します。

可能であれば、すでに確認されている部品の数を記録したい(たとえば、4/5部品が使用可能であることが確認されている)、これが可能性の領域内に留まる場合:)また、同じ複数の部品にどのように取り組むか(もっと列を作ることができます..)または同じ部分に複数のプレーヤー(これを持っていることは非常にいいでしょうが、私はこれが本当にできないと感じています..)?上記のABBAソングの例で、ボブが利用可能であるがニーナが利用できない場合。

私の思考プロセスは(ある程度)正しいですか?はいの場合、そのような偉業をどのように達成しますか?

編集: これは、使用しているような本格的なシートへのリンクです

1
TOIVIIVIY

まあ、魔法は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/

0
user0