Menu

SEQUENCE関数の使い方: 連番、日付、カレンダーを作る

=SEQUENCE(5)は1から5の数値を列の下方向に返し、=SEQUENCE(3,4)は3行4列を埋めます。開始値と増分を足せば、日付、リストに合わせて伸びる行番号、月のカレンダーなど、どんな連続データも作れます。

このページのシートはすべて実際に動きます。数値や数式を変えると再計算されます。

=SEQUENCE(5)は、入力した1つのセルから1から5の数値を列の下方向に返します。2つ目の引数を指定するとマス目を埋めます。=SEQUENCE(3,4)は3行4列で、各行を横に1から12まで数えます。A2の5を8に変えると、列が伸びます。

1つの列、次にマス目
A2
ABCDEF
1RowsRows and columns
211234
325678
439101112
54
65
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

SEQUENCE関数の構文

=SEQUENCE(rows, [columns], [start], [step])
  • rows(行)は返す行の数です。
  • columns(列)は列の数です。既定は1です。
  • start(開始)は最初の数値です。既定は1です。
  • step(目盛り)は、1つ前の数値にいくつ足すかです。既定は1で、マイナスや小数も指定できます。

マス目は横方向から先に埋まります。=SEQUENCE(3,4)の1行目は1、2、3、4で、2行目は5から始まります。列の下方向に数えるには、TRANSPOSEで囲みます:=TRANSPOSE(SEQUENCE(4,3))。

SEQUENCEにはExcel 2021、Excel 2024、Microsoft 365のいずれかが必要で、それより古いバージョンでは#NAME?になります。Googleスプレッドシートにも同じ関数があります。

開始値と増分

最後の2つの引数で、最初の数値と数値の間隔を決めます:

さまざまな開始値と増分
A2
ABCDEFGHI
110 to 505 down to 1Across a row
210512345
3204
4303
5402
6501
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

=SEQUENCE(5,1,10,10)は10から始まり、毎回10を足します。=SEQUENCE(5,1,5,-1)は5から減っていきます。=SEQUENCE(1,5)は1行5列です。1つおきの数値なら増分を2にします。=SEQUENCE(10,1,1,2)は1から19の奇数を返します。

行に自動で連番を振る

手で入力した行番号は、行を足したとたんに合わなくなります。代わりに名前を数え、SEQUENCEに名前1つにつき1つの番号を作らせます:

リストに合わせて伸びる番号
A2
AB
1No.Name
21Ann
32Ben
43Cara
54Dan
65Eve
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

COUNTAはB2:B8の入力済みのセル5つを数えるので、A2は1から5を返します。B7にFinnと入力すると、番号は6まで伸びます。COUNTAは入力済みのセルなら何でも数えるので、リストに空白があってはいけません。実際のシートでは、B2:B1000のように範囲を広めにとります。リストが空だとCOUNTAは0を返し、SEQUENCE(0)は#CALC!を表示します。

連続した日付

Excelでは日付は数値(1日につき1)なので、日付を開始値に使えます。下の各行は1日ずつ増えます。数式には日付の表示形式が必要で、ないと46083のようなシリアル値が表示されます:

B1から1週間分の日付
B2
ABCDE
1Start2026-03-02Weekly
22026-03-02Monday2026-03-02
32026-03-03Tuesday2026-03-09
42026-03-04Wednesday2026-03-16
52026-03-05Thursday2026-03-23
62026-03-06Friday
72026-03-07Saturday
82026-03-08Sunday
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

B2は2026-03-02から2026-03-08までを並べ、C2は各日の曜日をMondayからSundayまで表示します。E2は増分を7にして、1週間おきの4つの日付を返します。B1を変えると3つともそれに合わせて変わります。

月単位では、月によって長さが違うので、増分30ではずれていきます。代わりに、月単位で足すEDATEにSEQUENCEを渡します。=EDATE(B1,SEQUENCE(6,1,0))は3月2日から8月2日までを返します(セルを日付の表示形式にします)。EDATEとEOMONTHについては日付に日数・月数を足すを参照してください。

SEQUENCEでカレンダーを作る

どの月も、7日の行が6行あれば収まります。マス目は1日当日かそれより前の日曜日から始めます。DATE(2026,4,1)-WEEKDAY(DATE(2026,4,1))+1は、4月1日からその日曜日までさかのぼります。セルはdの表示形式なので日にちだけが表示され、条件付き書式が4月の日を強調します:

2026年4月
A2
ABCDEFG
1SunMonTueWedThuFriSat
22930311234
3567891011
412131415161718
519202122232425
6262728293012
73456789
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

2026年4月1日は水曜日なので、マス目は3月の29、30、31日から始まります。A2の2つの4(とルールの4)を別の月に変えると、カレンダーが描き直されます。ほかの月の日の代わりに空白を表示するには、数式の中で各日付を判定します。その数式はLETを使うと短く書けます。

練習: 1週間おきの日付

やってみよう
B2
AB
1Start2026-05-04
2Dates
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

やってみよう: B2で、B1の日付から始めて1週間おきに5つの日付を列の下方向に並べてください。

ほかの数式の中のSEQUENCE

SEQUENCEは、結果そのものより補助として使われることがよくあります。よくある使い方を3つ紹介します:

補助としてのSEQUENCE
B2
ABCD
1ListTop 3Sum 1 to 101, 2, 3 repeated
2CaraCara551
3DanDan2
4AnnAnn3
5Eve1
6Ben2
73
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。
  • =INDEX(A2:A6,SEQUENCE(3))はリストの最初の3項目、Cara、Dan、Annを返します。Microsoft 365とExcel 2024ではTAKE(A2:A6,3)でも同じです。
  • =SUM(SEQUENCE(10))は、入力せずに1から10を足し、55になります。
  • =MOD(SEQUENCE(6)-1,3)+1は1、2、3、1、2、3を繰り返します。行を3つのグループに順番に割り当てるときに便利です。

よくある間違いは、結果がスピルできない場所にSEQUENCEを置くことです。=SEQUENCE(5)は、下の4つのセルのどれかにデータがあると#SPILL!を表示します。そのセルを空にするか、数式を移動します(#SPILL!エラーを参照)。

よくある質問

ExcelのSEQUENCE関数は何をする関数ですか?

1つのセルからスピルする数値のリストを返します。=SEQUENCE(5)は列の下方向に1から5を、=SEQUENCE(1,5)は行の横方向に1から5を、=SEQUENCE(5,1,10,10)は10、20、30、40、50を返します。

Excelで連続した日付を作るには?

開始値に日付を使います。=SEQUENCE(7,1,B1)はB1の日付から連続する7日を、=SEQUENCE(4,1,B1,7)は1週間おきの4つの日付を返します。結果を日付の表示形式にしないと、シリアル値が表示されます。

Excelで行に自動で連番を振るには?

番号の列の最初の行に=SEQUENCE(COUNTA(B2:B100))を入れます。B列の入力済みのセルを数え、1からその数までを返すので、新しい名前を足すと何もコピーしなくても番号が付きます。

減っていく連番を作るには?

増分をマイナスにします。=SEQUENCE(5,1,5,-1)は5、4、3、2、1を返します。=SEQUENCE(5,1,0,0.25)のように、増分は小数でも構いません。

SEQUENCEが使えるExcelのバージョンは?

Excel 2021、Excel 2024、Microsoft 365です。それより古いバージョンでは#NAME?になります。そこでは最初の2つの値を入力してフィルハンドルをドラッグするか、=ROW()-1を下にコピーします。

Coddyのプログラミング言語のイラスト

Coddyでコードを学ぼう

始める