Excel(2007)のVBAには「Format」という関数があり、数値や日付形式などを整形してくれます。
Format(値,表示書式指定文字)
表示書式指定文字に例えば「yyyy」を指定すると西暦の年を表します。
変わったものとしては次の三つ。
「y」 1 年のうちで何日目に当たるかを数値で返します (1 ~ 366)。
普通の感覚だと西暦の年を表すように思いますが、その場合は「yyyy」になります。
「q」 1 年のうちで何番目の四半期に当たるかを表す数値を返します (1 ~ 4)。
1月から3月は「1」、4月から6月は「2」となります。わざわざ関数にすることかと思いますが、使う人がいるのでしょう。
「ww」 その日が一年のうちで何週目に当たるかを表す数値を返します (1 ~ 54)。
これが奇妙な動きをします。
2009年の場合は1月1日(木)から3日(土)は「1」となります。1月8日(日)から14日(土)は「2」となります。
日曜日から始まるカレンダーの何段目に来るか、という数え方なのです。
普通の感覚だと1日から7日は「1」となりそうですが違います。
このあたりを使う場合には十分な検証が必要かもしれません。
コメント