Deprecated : The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
SEQUENCE関数の使い方(連続した数値の配列を作成する):Excel関数
Home »
エクセル関数一覧表 »
Excel関数の目次 »
SEQUENCE関数の使い方(連続した数値の配列を作成する)
更新:2025/2/10;作成:2020/5/19
SEQUENCE関数が利用できるExcelの種類(バージョンについて)
Excel for Microsoft 365 (サブスクリプション版) ,Excel2021,Excel2024(永続ライセンス版)でSEQUENCE関数が使えるようになりました。
ちなみに、Excel2016(永続ライセンス版),Excel2019(永続ライセンス版)では使用できませんので、ご注意ください。
Spill(スピル)
SEQUENCE関数
Excel2016,Excel2019
×
×
Excel2021,Excel2024
○
○
Excel for Microsoft365
○
○
SEQUENCE関数は連続データを作成できますので、オートフィルなどフィル機能を関数で実現できるようになりました。
オートフィルについては データ/数式/関数の入力とオートフィル をご覧ください。
SEQUENCE関数の引数
引数
説明
行
返される行の数
列
(省略可能)
返される列の数
省略した場合は1になります。
開始
(省略可能)
数列の最初の数値
省略した場合は1になります。
目盛り
(省略可能)
配列内の後続の各値の増分量
省略した場合は1になります。
行方向に連続する値を入力する
=se と入力すると、seを含む関数がリストで表示されます。
[↓]キーを5回押して「SEQUENCE」を選択して、[Tab]キー を押します。
ちなみに、=seq と入力すると、「SEQUENCE」だけが表示されるので、[Tab]キーを押すだけです。
セルに=SEQUENCE( と入力されました。
=SEQUENCE(5 ) と入力します。
行に 5を設定していますので、5行に 1,2,3,4,5 が返されます。
引数の列や開始や目盛りが省略されているので、それぞれの既定値 列は1 開始値は1 目盛りは1 となるので、1,2,3,4,5 が5行に入力されます。
従来はROW関数を使っていました。
B2セルに =ROW(A1:A5) と入力しました。
列方向に連続した値を入力する
=SEQUENCE(1,5 )
行は1とし、列に5とした場合、5列に 1,2,3,4,5 が返されます。
従来はCOLUMN関数を使っていました。
B2セルに =COLUMN(A1:E1) と入力しました。
行と列を指定して、配列で入力する
=SEQUENCE(5 ,3 )
行に 5 、列に 3 を設定しています。
列方向に1,2,3 と入力され次の行には 4,5,6 といった具合に、列方向へ連続した値が入力されます。
これを行方向へ並べたいときは =TRANSPOSE( SEQUENCE(3 , 5 )) とします。
上の数式をは引数の行と列が入れ替わっています。
行と列と開始する値を指定する
=SEQUENCE(5,3,100 )
開始に 100 を設定しています。
5行×3列に100からの連続値 が入力されます。
行と列と開始と目盛りを指定する
=SEQUENCE(5,3,100,20 )
目盛り 20 を設定しています。
5行×3列に100から 20刻みの連続値 が入力されます。
月間予定表などを作成したいとき、1月分の日付をSEQUENCE関数を使って数式で入力できます。
このページではこの数式を主に説明します。
ちなみに、1年の日付は =SEQUENCE("2025/12/31"-"2024/12/31",,"2025/1/1") で入力することができます。
B2セルに =SEQUENCE( DAY( EOMONTH( DATE(2025,4,1) ,0) ) ,, DATE(2025,4,1) ) と入力します。
EOMONTH関数で日付の月の最終日を計算し、DAY関数でその月の日数を計算しています。
SEQUENCE関数で行は4月の日数(30),列は1でよいので省略しています、開始の値はDATE(2025,4,1) からの連続値となります。
しかし、セルの表示形式が標準のままだと日付のシリアル値が表示されます。
セルの表示形式を変更します。
B2:B11セルを選択して、[Ctrl]+[1]でセルの書式設定を表示します。
表示形式を m”月” d”日” (aaa) としました。
=DATE(2025,4,
SEQUENCE(DAY(EOMONTH("2025/4/1",0)),1))
とすることもできます。
ここでは、日曜日から始まるカレンダーを作成します。
B2セルに「年」、D2セルに「月」を入力します。
B4セルに
=IF(MONTH(SEQUENCE(6,7,DATE(B2,D2,1)-WEEKDAY(DATE(B2,D2,1))+1))<>D2,"",
SEQUENCE(6,7, DATE(B2,D2,1)- WEEKDAY(DATE(B2,D2,1))+1 ) )
と入力します。
ここからは↓の数式の各部分の説明です。
SEQUENCE(6,7, DATE(B2,D2,1)- WEEKDAY(DATE(B2,D2,1))+1 )
開始日を計算します。
2024年10月の場合 2024/10/1は火曜日なので、WEEKDAY(DATE(B2,D2,1)) は 3 となるので、
2024/10/1の2日前をカレンダーの起点にするので、DATE(B2,D2,1)- WEEKDAY(DATE(B2,D2,1))+1 とします。
起点とする日が決まれば、SEQUENCE関数で6行7列の配列を返すように数式を作成します。
SEQUENCE(6,7, DATE(B2,D2,1)- WEEKDAY(DATE(B2,D2,1))+1 ) 作成された日付には前月と次月の日付が含まれますので、10月ではない日付は IF関数で"" に置き換えています。
=IF(MONTH(SEQUENCE(6,7,DATE(B2,D2,1)-WEEKDAY(DATE(B2,D2,1))+1))<>D2, "" ,
作成され日付のセルの表示形式を変更する必要があります。
[ホーム]タブの[数値の書式]→[その他の表示形式]を選択します。
または、ショートカットキー [Ctrl]+[1]キーでセルの書式設定を開くことができます。
セルの書式設定で[表示形式]タブを選択します。
分類で「ユーザー定義」を選択します。
種類に d と入力します。
[OK]ボタンをクリックします。
表の書式を整えます
文字の色を日曜日は「赤」、土曜日は「青」に変更し、文字位置は「上揃え」「左揃え」にしています。
連続した時刻を作成することができます。
オートフィルで連続した時刻を作成すると小数誤差を生じる可能性が大きいので、小数誤差を生じないような時刻を作成したいときには最適と思います。
B2セルには =TIME(SEQUENCE(24) ,0,0) と入力して、1:00:00〜0:00:00までの時刻を作成しています。
E2セルには =TIME(9,SEQUENCE(60) ,0) と入力して、9:01:00〜10:00:00までの時刻を作成しています。
見た目では上と同じに見えますが、この方法では小数誤差を生じますのでご注意ください。
引数の目盛りに1:00や0:01といった小数値を使っているためです。
B2セルには =SEQUENCE( 24,,"1:00","1:00") と入力して、1:00:00〜0:00:00までの時刻を作成しています。
E2セルには =SEQUENCE( 60,,"9:00","0:01") と入力して、9:00:00〜9:59:00までの時刻を作成しています。
19:00,22:00のところが手打ちの値と異なるのがわかります。
EXACT関数でEXACT(B2,E2)と=SEQUENCE( 24,,"1:00","1:00") と手打ちの値を比較すると、FALSEとなっています。
24:00の場合はTIME関数では24:00は0:00となるためにFalseが返されています。
C列の=TIME(SEQUENCE(24) ,0,0)とE列の手打ちの値はExact関数で同じとなっています
小数誤差が問題となりそうな場合はこちらをお勧めします。
A,B,C・・・と連続したアルファベットを入力します。
Aの文字コードは =CODE("A")=65、Zは=CODE("Z")=90 ですので、90-65+1=26なので26個の連続値を表示すればよいことになります。
よって、=CHAR(SEQUENCE(1,26,65)) となります。
もちろん、=CHAR(SEQUENCE(1,26 ,CODE("A") ) ) としてもOKです。
アルファベットを3列に表示するときは
=CHAR( SEQUENCE(3,10, CODE("A") ) ) とすると、下図のようになります。
TRANSPOSE関数で行列を入れ替えます
=TRANSPOSE( CHAR(SEQUENCE(3,10,CODE("A")) ))
としてみました。
Excel for Microsoft365で使用できる WARAPCOLS関数 を利用すると、Zの後の不要な記号を表示しないことができます。
WRAPCOLS関数でA〜Zの26個のデータ(配列)を10行ごとに列を折り返して表示します。26を超えるところは空白にしています。 B2セルは =WRAPCOLS( CHAR(SEQUENCE(26,,CODE("A")) ),10,"") としています。
数値を1セルごとに分解して入力したい場合
まず、桁区切りを表示しない場合は、=MID(B2, SEQUENCE(1,LEN(B2)) ,1) とします。
B2セルは表示形式で桁区切りが表示されていますので、値は 7940 です。
7940を左から順番にセルに取り出していますので桁区切りは表示されません。
桁区切りを表示したい場合は =MID(TEXT(B2,"#,##0") ,SEQUENCE(1,LEN(TEXT(B2,"#,##0") )),1) とします。
B2をTEXT関数でTEXT(B2,"#,##0") として、桁区切り付きの文字列 7,940 に変換しています。
スポンサードリンク
Home »
エクセル関数一覧表 » SEQUENCE関数の使い方(連続した数値の配列を作成する)
PageViewCounter
Since2006/2/27