Theoは、Excelワークシートを使用して、会社の予約を追跡しています。データは3列のみで構成されています。 1つ目は人の名前、2つ目は予約の最初の週の番号(1-52)、3つ目は予約の最後の週の番号です。

人々は複数の週に予約することができます(つまり、開始週は15、終了週は19です)。 Theoには、週番号を入力してから、その週番号に関連付けられている名前(列A)を数式で決定する方法が必要です。データは特定の順序で並べ替えられておらず、会社はTheoにマクロを使用させて結果を取得させません(数式である必要があります)。

Theoの状況は単純に聞こえますが、解決策を考案する際の落とし穴に満ちています。 (次の図に示すように)潜在的なデータを見ると(図1を参照)、これが当てはまる理由がすぐにわかります。

image

図1.テオの問題の潜在的なデータ。

(Theoが言ったように)データは特定の順序ではないことに注意してください。

また、予約がない週(5週目や6週目など)、複数の人がいる週(11週目や16週目など)、誰かが予約している週もあることに注意してください。番号は列BまたはC(12週目または17週目など)に表示されません。

考えられる解決策を検討する前に、知りたい週がセルE1であると仮定しましょう。この範囲にはQueryという名前を付ける必要があります。この命名は、厳密には必要ではありませんが、式の理解を少し簡単にします。

考えられる解決策の1つは、一般に「ヘルパー列」と呼ばれるものを追加することです。セルD2に以下を追加します:

=IF(AND(Query>=B2,Query<=C2),"RESERVED","")

テーブル内の名前と同じ数のセルについて、数式をコピーします。 (たとえば、セルD10にコピーします。)セルE1に週番号を配置すると、その週番号を含む予約の右側に「RESERVED」という単語が表示されます。また、その週に複数の人が予約されているかどうか、またはその週に予約されている人がいないかどうかも簡単に確認できます。 AutoFilterを適用して、列Dに「RESERVED」という単語が含まれるレコードのみを表示するように選択することもできます。

必要に応じて、ヘルパー列を省略し、条件付き書式を使用して、希望する週に予約されているユーザーを表示することを検討できます。

列Aで名前を選択し、次の数式を使用する条件付き書式ルールを追加するだけです。

=AND(Query>=B2,Query<=C2)

(条件付き書式ルールの入力方法については、_ExcelTips._の他の問題で詳しく説明されています。)セルに適用されるシェーディング(パターン)を変更するようにルールを設定すると、どの予約が適用されるかを簡単に確認できます。興味のある週。

最後に、データのレイアウトを変更することを検討する必要があります。

列A(1から52または53)に週番号が含まれるワークシートを作成し、列Bに名前を配置できます。2週間予約された場合、その名前は列Bに2回表示され、それぞれの横に1つずつ表示されます。彼らが予約した2週間。

この形式のデータを使用すると、データを簡単にスキャンして、利用可能な週、取得された週、および取得された人を確認できます。

ある種のルックアップを実行する場合は、週番号に基づいたVLOOKUP関数を簡単に使用できます。これは、データの最初の列であり、ソートされた順序であるためです。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(11077)は、Microsoft Excel 97、2000、2002、および2003に適用されます。

Excel(Excel 2007以降)のリボンインターフェイスに関するこのヒントのバージョンは、次の場所にあります:

link:/ excelribbon-Determining_a_Name_for_a_Week_Number [週番号の名前の決定]