スポンサードリンク | |
作成:2020/5/19,更新:2023/3/14
連続した日付を作成する | 連続した時刻を作成する |
アルファベットを入力する | 数値を分割して表示する |
Excel for Microsoft 365 (サブスクリプション版) でSEQUENCE関数が使えるようになりました。
(Office365は2020/4/22からは Microsoft365となりました)
ちなみに、Excel2016(永続ライセンス版),Excel2019(永続ライセンス版)では使用できませんので、ご注意ください。
なお、2021/10/5頃から市販されている Excel2021(永続ライセンス版)でも使用できます。
Spill(スピル) | SEQUENCE関数 | |
Excel2016 | × | × |
Excel2019 | × | × |
Excel2021 | ○ | ○ |
Excel for Microsoft365 | ○ | ○ |
SEQUENCE関数は連続データを作成できますので、オートフィルなどフィル機能を関数で実現できるようになりました。
オートフィルについては データ/数式/関数の入力とオートフィル をご覧ください。
引数 | 説明 |
行 | 返される行の数 |
列 (省略可能) |
返される列の数 省略した場合は1になります。 |
開始 (省略可能) |
数列の最初の数値 省略した場合は1になります。 |
目盛り (省略可能) |
配列内の後続の各値の増分量 省略した場合は1になります。 |
従来は B2セルに =ROW(A1) と入力して、下方向へ数式をコピーしていました。
=SEQUENCE(,5)
行は指定せず、列に5とした場合、5列に 1,2,3,4,5 が返されます。
従来は B2セルに =COLUMN(A1) と入力して、右方向へ数式をコピーしていました。
=SEQUENCE(5,3)
行に 5、列に 3を設定しています。
列方向に1,2,3 と入力され次の行には 4,5,6 といった具合に、列方向へ連続した値が入力されます。
=SEQUENCE(5,3,100)
行に 5、列に 3、開始に 100を設定しています。
=SEQUENCE(5,3,100,20)
行に 5、列に 3、開始に 100、目盛り 20を設定しています。
SEQUENCE関数を使って月間予定表を作成する(縦型カレンダー)
http://www.eurus.dti.ne.jp/~yoneyama/Excel/jituyou/gekkan-n2.htm
ボックス型カレンダーを作成する(SEQUENCE関数)
http://www.eurus.dti.ne.jp/~yoneyama/Excel/jituyou/calendar_sequence.htm
B2セルに =SEQUENCE(10,,"2020/5/1") と入力します。
SEQUENCEで行は10,列は省略しているので1,開始の値は"2020/5/1" の連続値なので、2020/5/1,2020/5/2,2020/5/3,・・・,2020/5/10 となります。
B2セルに =DATE(2020,5,SEQUENCE(10,,1)) と入力しています。
日が SEQUENCEで行は10,列は省略しているので1,開始の値は1 の連続値なので、1,2,3・・・,9,10 となります。
なお、B列のセルの表示形式は「長い日付形式」を設定しています。
連続した時刻を作成することができます。
オートフィルで連続した時刻を作成すると小数誤差を生じる可能性が大きいので、小数誤差を生じないような時刻を作成したいときには最適と思います。
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,0:00のところが手打ちの値と異なるのがわかります。
EXACT関数でEXACT(B2,E2)と=SEQUENCE(24,,"1:00","1:00")と手打ちの値を比較すると、FALSEとなっています。
一方、=TIME(SEQUENCE(24),0,0)の方は全てTRUEとなりますので、小数誤差が心配となる場合はこちらをお勧めします。
A,B,C・・・と連続したアルファベットを入力します。
Aの文字コードは =CODE("A")=65 ですので、=CHAR(SEQUENCE(26,,65)) となります。
もちろん、=CHAR(SEQUENCE(26,,CODE("A"))) としてもOKです。
なお、 =CODE("Z")-CODE("A")+1 =26 となります。
下図は表示しやすいように、TOROW関数で1行に並べています。
アルファベットを3列に表示するときは
=CHAR(SEQUENCE(3,10,CODE("A"))) とすると、下図のようになります。
TRANSPOSE関数で行列を入れ替えます
=TRANSPOSE(CHAR(SEQUENCE(3,10,CODE("A"))))
としてみました。
Excel for Microsoft365で使用できる WARAPCOLS関数を利用すると、
E2セルは =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 に変換しています。
スポンサードリンク
PageViewCounter
Since2006/2/27