何年も前から解決しようとしてきたパズルがありますが、それは単純に私には理解できません。
3列のスプレッドシートがあります。列 A はインストラクター ID 番号、列 B はコース開始日、列 C はコース終了日です。インストラクターIDごとに複数のコースがあります。
私は基本的に質問に答えようとしています.このインストラクターがいつでも教えているコースの最大数は何ですか. 基本的に、ID 番号ごとに、最大の、同時の、重複する日付範囲の数を見つける必要があります。
問題は、重複する日付範囲を見つける方法は知っていますが、同時コースの数を数える方法がわからないことです。
例えば。インストラクター 115 には、次の日付範囲がリストされています。
9/10/13 / 11/04/13 2013 年 9 月 17 日 / 2013 年 11 月 11 日 11/05/13 / 12/30/13 11/12/13 / 1/20/14
11/05/13 コースは 9/17/13 コースと 11/12/13 コースの両方と重複していますが、互いに重複していません... したがって、このインストラクターは常に最大 2 つのコースしか教えていません。時間。
IDごとに同時に重複する日付範囲の最大数を返す関数を作成する方法はありますか?
コメントから詳細を転送するために OP を編集しない:
これを幾何学的に解決することはできますが、VBA 関数でそれを行う方法がわかりません (私はまだプログラミングに非常に慣れていません)。これをコードの外で解決する場合は、ID ごとにテーブルを作成し、毎日の列を作成します。次に、日付範囲ごとに行を作成し、1
範囲が重なっている各列に をマークします。次に、各日のオーバーラップの合計を合計します。次に、単純な MAX 関数を使用して、連続したオーバーラップの最大数を返します。Excel でこれらのテーブルを物理的に描画せずに関数内でこれを行う方法はありますか?