概要
「AB-2026-0001」「SN-20260105-000123」みたいな シリアル番号(シリアル文字列) を、
Excelで自動生成したくなること、よくあります。
- 年月+通し番号のシリアル
- 日付+連番のシリアル
- 固定プレフィックス(SN-, PRD- など)+0埋め番号
- 「見た目はきっちり決まっているけど、中身はただの文字列」というID
こういうときに活躍するのが TEXT 関数です。
TEXT は「数値や日付を、決めたフォーマットの“文字列”にする係」なので、
連番や日付と組み合わせると、きれいなシリアル文字列が量産できます。
TEXT 関数の基本(シリアル文字列の土台)
TEXT の書式
=TEXT(値, "表示形式")
- 値
数値・日付・時刻など。セル参照でも、計算結果でもOK。 - “表示形式”
どういう形で見せたいかを指定する書式文字列。
シリアル文字列でよく使うのは、主にこの2つです。
数値の桁そろえ(0埋め)
=TEXT(123,"000000")
→ 「000123」
日付の yyyymmdd 化
=TEXT(A2,"yyyymmdd")
→ 2026/1/5 → 「20260105」
これに「接頭辞(PREFIX)」「区切り文字」「他の項目」を & で足していくイメージです。
パターン1:単純な通し番号シリアル(000001, 000002…)
6桁のシンプルシリアル
A2 から下に向けて、000001, 000002, 000003… のようなシリアルを作りたい場合。
A2 に次の式を書きます。
=TEXT(ROW(A1),"000000")
- ROW(A1)
A2 にこの式を書くと、ROW(A1) は 1 を返します。
下にコピーすると、A3 では ROW(A2)=2、A4 では ROW(A3)=3… となります。 - TEXT(…, “000000”)
1 → 「000001」、2 → 「000002」のように 6 桁ゼロ埋め。
結果として、
A2:000001
A3:000002
A4:000003
のようなシリアルが1列で作れます。
桁数を変えたいなら "0000"(4桁)、"0000000"(7桁)と 0 の数を変えるだけです。
パターン2:プレフィックス付きシリアル「SN-000001」形式
接頭辞+連番
よくあるのが、SN-000001 SN-000002 のような「プレフィックス付きシリアル」です。
A2 に次の式を書いて下にコピーします。
="SN-" & TEXT(ROW(A1),"000000")
意味はそのままです。
- “SN-” … 固定の接頭辞(シリアル番号の種類を表す)
- TEXT(ROW(A1),”000000″) … 6 桁ゼロ埋めの連番
接頭辞を変えれば、
="PRD-" & TEXT(ROW(A1),"000000")
→ PRD-000001, PRD-000002… のような「商品シリアル」にもできます。
パターン3:年月+通し番号「AB-2026-0001」形式
年+連番のシリアル文字列
例えば、シリアルのルールをこう決めるとします。
- プレフィックス:
AB- - 年:4桁
- その年の通し番号:4桁 0 埋め
AB-2026-0001 のような形です。
B1 に「対象の年」(例:2026)を書いておき、
A2 に次の式を書きます。
="AB-" & TEXT($B$1,"0000") & "-" & TEXT(ROW(A1),"0000")
- TEXT($B$1,”0000″)
→ 2026 を「2026」の4桁(見た目は同じですが、フォーマットを意識している) - TEXT(ROW(A1),”0000″)
→ 1,2,3… を 0001,0002,0003… に変換
結果例:
AB-2026-0001
AB-2026-0002
AB-2026-0003
B1 の年を 2027 に変えれば、その年用のシリアルに一発で切り替え可能です。
パターン4:日付+連番「SN-20260105-0001」形式
日付を含めて“いつのシリアルか”も分かるように
B列に「発行日」、A列にシリアル文字列を作るとします。
B2:2026/1/5
B3:2026/1/5
B4:2026/1/6
という日付が入っているとして、A2 に次の式を書きます。
="SN-" & TEXT(B2,"yyyymmdd") & "-" & TEXT(ROW(A1),"0000")
- TEXT(B2,”yyyymmdd”)
→ 2026/1/5 → 「20260105」 - TEXT(ROW(A1),”0000″)
→ 1,2,3… → 0001,0002,0003…
結果例:
A2:SN-20260105-0001
A3:SN-20260105-0002
A4:SN-20260106-0003
「通し番号を日付ごとにリセットしたい」場合は、ROW の代わりに
COUNTIF などで日付別の件数を数えるロジックが必要になりますが、
まずは「シート全体でユニークな通し番号」として ROW から入るのが理解しやすいです。
パターン5:複数の要素を組み合わせたシリアル設計
「カテゴリ+日付+連番」のシリアル
例えば、次のようなシリアルを作りたいとします。
CAT-食品-20260105-0003CAT-雑貨-20260105-0004
前提として、
- B列:カテゴリ名(食品・雑貨・衣料など)
- C列:日付
- A列:シリアル文字列
という構造を考えます。
A2 に次の式を書きます。
="CAT-" &
B2 & "-" &
TEXT(C2,"yyyymmdd") & "-" &
TEXT(ROW(A1),"0000")
要素ごとに見ると、
- “CAT-” … 固定プレフィックス(種別)
- B2 … カテゴリ(食品など)
- TEXT(C2,”yyyymmdd”) … 日付を yyyymmdd に整形
- TEXT(ROW(A1),”0000″) … 4桁連番
これを & で繋いで1本の文字列にしています。
ポイントは、「各要素はあくまで数値・文字列」「TEXT は見た目整形係」という役割分担を意識することです。
問題1
A2 から下方向に、000001, 000002, 000003 …
という 6 桁のシリアル番号を作りたいです。
A2 に書く式を、TEXT と ROW を使って書いてください。
=TEXT(ROW(A1),"000000")
問題2
A2 から下方向に、SN-000001, SN-000002, SN-000003 …
というシリアル文字列を作りたいです。
A2 に書く式を、TEXT と ROW を使って書いてください。
="SN-" & TEXT(ROW(A1),"000000")
問題3
B1 に「2026」という年が入っています。
A2 から下方向に、AB-2026-0001, AB-2026-0002, AB-2026-0003 …
というシリアルを作りたいです。
A2 に書く式を、TEXT と B1, ROW を使って書いてください。
="AB-" & TEXT($B$1,"0000") & "-" & TEXT(ROW(A1),"0000")
問題4
B列に日付(例:2026/1/5)が入っています。
A2 から下方向に、SN-20260105-0001, SN-20260105-0002 …
のようなシリアル文字列を作りたいです。
A2 に書く式を、TEXT と B2, ROW を使って書いてください。
="SN-" & TEXT(B2,"yyyymmdd") & "-" & TEXT(ROW(A1),"0000")
問題5
B列にカテゴリ名(例:「食品」)、
C列に日付(例:2026/1/5)が入っています。
A2 から下方向に、CAT-食品-20260105-0001
のような「プレフィックス CAT- + カテゴリ名 + 日付 yyyymmdd + 4桁連番」のシリアル文字列を作りたいです。
A2 に書く式を書いてください。
="CAT-" & B2 & "-" & TEXT(C2,"yyyymmdd") & "-" & TEXT(ROW(A1),"0000")
シリアル文字列生成のカギは、
- 「元ネタの数値(行番号や通し番号)」
- 「日付やカテゴリなどの属性」
- それらを TEXT で“見た目ルール”に整える
この3つをどう組み合わせるか、です。
TEXT の型さえ身体で覚えてしまえば、
あとは自分の現場のルールに合わせて、「接頭辞」「桁数」「区切り」を入れ替えていくだけで、
かなり自由度の高いシリアル設計ができるようになります。
