エクセル SEQUENCE 関数:連続した値の配列を生成する

はじめに

エクセルの SEQUENCE 関数の使い方を紹介します。

SEQUENCE 関数は連続した値の配列を生成します。

オートフィルのように連番や連続した日付、文字列も取得できます。

この関数は 365 で使用できます。2019 以前のバージョンでは使用できません。
  • 目次
    • 構文
    • 使用例
    • 解説

構文

SEQUENCE(行数)
行数と 1 列の範囲に 1 からの連番の配列を返します。

SEQUENCE(行数, 列数, 開始値, 増分量)
行数列数の範囲に開始値から増分量づつ加算した連番の配列を返します。

引数「行数」配列の行数を指定します。
引数「列数」省略できます。省略すると 1 列の配列を返します。
配列の列数を指定します。
引数「開始値」省略できます。省略すると 1 からの連番を生成します。
連番の開始値を指定します。
引数「増分量」省略できます。省略すると引数「開始」に 1 ずつ加算した連番を生成します。
引数「開始」に加算する値を指定します。

使用例

結果は配列になり複数のセルに表示されます。これはスピルという機能によるものです。詳しくは「スピル、動的配列数式の使い方」をご覧ください。

5 行 1 列の範囲に 1 からの連番を生成する。

=SEQUENCE(5)
1

1 行 5 列の範囲に 1 からの連番を生成する。

=SEQUENCE(1,5)
2

3 行 5 列の範囲に 1 からの連番を生成する。

=SEQUENCE(5,3)
3

引数「開始値」を変化させて生成する。

=SEQUENCE(1,3,B3)
5

引数「増分量」を変化させて 1 からの連番を生成する。

=SEQUENCE(1,3,1,B3)
6

日付と時刻

引数「開始値」を日付にして、日付の連番を生成する。

結果が数値になっているのは日付の実際の値が数値だからです。セルの書式設定を指定して日付形式に表示できます。

=SEQUENCE(3,1,B3,C3)
7

引数「開始値」を時刻にして、時刻の連番を生成する。引数「増分量」を負の値にするには解説をご覧ください。

結果が数値になっているのは時刻の実際の値が数値だからです。セルの書式設定を指定して時刻形式に表示できます。

=SEQUENCE(3,1,B3,C3)
8

TEXT 関数」を使用してセルの書式設定を指定できます。

=TEXT(SEQUENCE(3,1,B3,C3),"yyyy/m/d")
9

結果は配列になり複数のセルに表示されます。これはスピルという機能によるものです。

文字列

CHOOSE 関数」を使用して文字列の連番を生成できます。

=CHOOSE(SEQUENCE(5),"子","丑","寅","卯","辰")
11

結果は配列になり複数のセルに表示されます。これはスピルという機能によるものです。

解説

引数「行数」と「列数」には 1 以上の整数を指定します。

引数「行数」または「列数」に 0 を指定したときはエラー#CALC!になります。

引数「行数」または「列数」に負の値を指定したときはエラー#VALUE!になります。

引数「開始値」に日付を指定できます。これは日付の実際の値が数値だからです。

引数「開始値」に数値以外を指定したときはエラー#VALUE!になります。

引数「増分量」に 0 を指定すると、すべての値が引数「開始値」になります。

引数「増分量」に負の値を指定すると1, 0, -1のように減算した配列を返します。

引数「開始値」が日付のとき引数「増分量」に 1 を指定すると、1 日ずつ加算します。1 が日付の 1 日分です。

引数「増分量」に時間を指定すると、その時間ずつ加算できます。

行列を入れ替える

TRANSPOSE 関数」を使用して行と列を入れ替えられます。

=TRANSPOSE(SEQUENCE(5,3))
4

日付の範囲

エクセルで扱える日付の範囲は1900/1/09999/12/31です。

時間のみ入力したときの日付が1900/1/0になります。0 日になっているのは日付なしを表しています。

0 を日付にすると1900/1/0になります。1 を日付にすると1900/1/1になります。このように数値が 1 増えるごとに日付も 1 日ずつ増えていきます。

1 を 24 で割ると 1 時間、それを 60 で割ると 1 分、それを 60 で割ると 1 秒の数値になります。

=TEXT(SEQUENCE(1,3,1,D3),"[h]:mm:ss")
10
  • 目次
    • 構文
    • 使用例
    • 解説