1. lookup 関数を使って、データを参照したい
Google スプレッドシートで、lookup 関数を使い、データを参照したい。
例えば、
- 日付
- 曜日
を記入する列があるとする。このとき、日付を元にして、曜日を自動的に入力したい。
2. 検索対象である「曜日」シートを作成
二つの列を使い、
- A列に「数値」
- B列に「曜日」
を記入する。
A列の「数値」は、「曜日」を検索するためのキーとして利用する。この例の場合、「数値」は後述する weekday 関数を用いて、日付から返される値と対応させる必要がある。
weekday 関数は、デフォルトでは日付が日曜日の場合 1 を返す。月曜日は 2, 火曜日は 3 … というようなに値を返す。
3. 参照元のデータを入力する「データ」シートを作成
「データ」シートを新しく追加し、
- 日付
- 曜日
の二つの列に記入する。
「日付」には具体的な日付を入力する。日付の連続データを作成する方法は、以下を参照。
次に、「曜日」列の B2 セルに、以下の関数を入力する。
=VLOOKUP(weekday(A2,1),曜日!$A$1:$B$7,2,false)
他のシートを参照するための記号
上記の関数では他のシートを参照している。他のシートのセルを参照するには、以下のように `!’ を記述する。
シート名!セルの番地
WEEKDAY 関数
日付から曜日を表す数値を得るには、
weekday 関数
を使う。上記のように第2引数に `1’ を指定すると、「日曜日」からはじまる。
VLOOKUP 関数
特定の値に対応したデータを参照するには
vlookup 関数。
各引数の意味は、以下の通り。
- 検索するためのキー
- 検索する対象のデータ
- 取得するデータ列の位置。(先頭の列を 1 と数える。)
- flase を指定して、完全に一致するもののみ返す。詳細は以下を参照。
Google スプレッドシートの関数リスト - Google ドライブ ヘルプ によると、
[並べ替え順序](オプション、デフォルトは TRUE)では、配列内の先頭列を並べ替えるかどうかを指定します。TRUE の場合は、検索条件にもっとも近いものを返します。FALSE の場合は、完全に一致するもののみを返します。
4. 曜日に色付けをして見やすくする
土曜日を青色、日曜日を赤色にしたい。そのためには、
- 曜日の表示されている B 列を選択。
- メニューより、「表示形式 > 条件に応じて色を変更」を選択。
- 「日曜日、土曜日」の文字列の色を変えるには、以下のように設定。
ただし、このままでは最初の行の「曜日」(B1セル) が赤色に変化してしまう。そこで、メニューより「表示形式 > スタイルのクリア」を選択する。
5. 曜日を検索する「範囲」に名前を付け、計算式を読みやすくする
追記 (2010.8.9) : 範囲の参照をするとき、範囲に名前を付けておくのがよい。
範囲に名前を付ける
- 曜日と対応する数値を記述した範囲 A1:B7 を選択しておく。
- メニューの 「編集 > 名前付けされた範囲 > 新しい範囲を定義...」 を選択。
- ニックネームに適当に 「曜日」 と名前を付けた。
計算式で範囲名を利用
これにより、vlookup 関数を使った計算式を以下のように書ける。
=vlookup(weekday(A1),曜日,2,false)
2コメント:
=CHOOSE(WEEKDAY(A1),"日","月","火","水","木","金","土","日")&"曜日"
で良いかと
ご指摘の通りですが、式の中に曜日の名称をハードコードしたくなかったので、上記のようにしました。
よほどないと思いますが、曜日名の表現を後で変更したくなることもあるかなと思いまして。
コメントを投稿