オーロラさんの勉強帳

SESの客先常駐勤務。データベース、Excel、Excel VBA、ネットワーク、LinuxなどIT関連のことを主に書いていきます。

【Excel】REPT関数(リピート関数)の使い方・REPT関数とLENB関数で固定長のデータを作成する方法

本記事では、ExcelのREPT関数(リピート関数)の使い方、REPT関数とLENB関数を使って固定長データを作成する方法をご紹介します。

  1. REPT関数の使い方
  2. REPT関数を使って固定長のデータを作成する方法

1.REPT関数(リピート関数)の使い方

REPT関数は文字列を指定した回数だけ繰り返して表示します。

以下の画像では、セルD3に『=REPT(B3,C3)』と入力して、◎を10回繰り返し表示させています。セルD3の数式は『=REPT("◎",10)』でもOKです。

REPT関数(リピート関数)

REPT関数の書式

REPT関数は「文字列」、「繰り返し回数」の2つの引数を必ず指定します。

REPT(文字列,繰り返し回数)

  • 文字列:繰り返す文字列を指定します。
  • 繰り返し回数:文字列を繰り返す回数を、正の数値で指定します。


繰り返し回数に負の数値(-1など)を指定すると、#VALUE!(エラー値)を返します。
繰り返し回数に0を指定すると、空白文字列("")を返します。
REPT関数で作成できる文字列の上限は32,767文字までです。32,767文字を超える場合は、#VALUE!(エラー値)を返します。


REPT関数の基本的な使い方について

以下の画像では、REPT関数を使ってB列の文字列をC列の回数だけ繰り返し表示しています。

REPT関数の動作

2.REPT関数とLENB関数を使って固定長のデータを作成する方法

REPT関数LENB関数を使って固定長データを作成する方法を紹介します。

REPT関数・LENB関数で1項目だけの固定長データを作成する

以下の画像では、15桁(15バイト)の固定長データを作成しています。

REPT関数とLENB関数で固定長データを作成


数式を見てみましょう。

15-LENB(C4)
15桁-C4の文字数の桁数を除算します。
15桁の固定長にするために足りない桁数を調べています。

LENB関数は文字列のバイト数を返す関数です。


REPT(" ",15-LENB(C4))
15-LENB(C4)で調べた15桁に足りない桁数分、REPT関数で半角ブランクを繰り返しています。


=C4&REPT(" ",15-LENB(C4))
C4の文字列と半角ブランクを結合して、15桁の固定長にしています。


いろいろなパターンを試してみましょう。


複数の項目の固定長データの作成方法

実際の業務では、以下画像のように複数の項目を結合した固定長のデータを使うと思います。

REPT関数とLENB関数で固定長のデータを作成

1項目の数式を&で結合するだけで、固定長のデータを作成することが可能です。
以下がセルG4の数式です。
=C4&REPT(" ",5-LENB(C4))&D4&REPT(" ",15-LENB(D4))&E4&REPT(" ",6-LENB(E4))&F4&REPT(" ",8-LENB(F4))


テキストファイルに作成した文字列をコピー&ペーストすれば、固定長のデータファイルを作成することができます。



以上、お読みいただきありがとうございました。