2024年11月4日【ID:0】
【Excel】「今日の予定」を表から抽出
以下のような表から、「今日の予定」を自動で抽出する方法について解説していきます。
VLOOKUP関数で抽出
表の先頭列の日付を基準に、その表から値を抽出する場合は、VLOOKUP関数が便利です。
VLOOKUP関数の使い方は、以下になります。
=VLOOKUP(検索値, 範囲, 列番号, [検索方法])
// 検索値:検索対象の値
// 範囲:検索対象の表(検索対象の列を一番左に配置した表)
// 列番号:範囲に指定した表の先頭列を1とした抽出したい項目までの列番号
// [検索方法]:検索方法をTRUE(近似一致)もしくはFALSE(完全一致)で指定
// ※[検索方法]を省略した場合は近似一致が指定される
また検索値に関しては、今回は、「今日の日付」である必要があります。
「今日の日付」とは、毎日変わる値になります。
自動で「今日の日付」の情報を取得できる関数にTODAY関数があります。
TODAY関数の使い方は、以下になります。
=TODAY()
// 引数(設定値)なし
実際に、VLOOKUP関数とTODAY関数を組み合わせて、「今日の予定」を抽出すると、以下のような数式になります。
=VLOOKUP(TODAY(),A:B,2,FALSE)
// TODAY():「今日の日付」で検索
// A:B:対象の予定表の範囲を指定
// 2:指定した範囲の先頭から2列目の予定を抽出
// FALSE:完全一致で検索(検索値と完全一致する行の値を抽出する検索方法)
※VLOOKUP関数で抽出する際は、範囲(A:B)の先頭列(一番左)に、必ず検索対象の項目を配置する必要があります。
補足
「今日の予定」が空の場合は、以下のように「0」と表示されてしまいます。
Excelでは、空のセルが「0」として扱われてしまうため、上記のように「0」と表示されてしまいました。
予定に数値ではなく文字を入力するという前提であれば、以下のように、空白「""」を加えることで「0」が表示しないようにすることができます。
=VLOOKUP(TODAY(),A:B,2,FALSE)&""
ただ、この方法の場合は、予定に数値が入力されている場合に関しても、文字列として表示されてしまいます。
文字列の数字の場合、SUM関数などの集計関数では正しく集計することができなくなります。
そのため、抽出した数字を集計に使う可能性がある場合は、以下のようにIF関数を用いて予定を抽出した方が良いです。
※IF関数の使い方についての解説は省略します。
=IF(VLOOKUP(TODAY(),A:B,2,FALSE)="","",VLOOKUP(TODAY(),A:B,2,FALSE))