1. lookup 関数を使って、データを参照したい
Google スプレッドシートで、lookup 関数を使い、データを参照したい。
例えば、
- 日付
- 曜日
の列があるとする。
日付を元にして、曜日を自動的に入力したい。
2. 検索対象である「曜日」シートを作成
二つの列を使い、
- 数値
- 曜日
を記入する。
数値を、曜日を検索するためのキーとして利用するので、重複した値があってはならない。これにより「数値」と「曜日」を対応付ける。
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)



![img08-10-2010[1]](http://farm5.static.flickr.com/4123/4876875181_99997094c2.jpg)

2コメント:
=CHOOSE(WEEKDAY(A1),"日","月","火","水","木","金","土","日")&"曜日"
で良いかと
ご指摘の通りですが、式の中に曜日の名称をハードコードしたくなかったので、上記のようにしました。
よほどないと思いますが、曜日名の表現を後で変更したくなることもあるかなと思いまして。
コメントを投稿