特定の文字数が入力されているか調べたい

特定の文字数が入力されているか調べたい

文字列が長さがデータによって異なる

ご提供頂くデータの中に、本来は決まった文字数であるべき文字列が過不足している場合があり、そのままデータベースに保存できない場合があります。

品番(13文字固定) 品名
hinban-10001 製品1
hinban-010002 製品2
hinban-10003 製品3
hinban-0100004 製品4

これはデータ入力時にあやまって入力した場合や、データ入力後の目視チェックでも差が分かりにくく、見落としてしまう場合などが原因です。

特定の文字数かどうか調べる

特定の文字数かどうかを調べるには、LEN(レン)関数と、IF(イフ)関数を使用します。 LEN関数は、引数に指定した文字列の文字数を返します。 IF関数は、引数で指定した論理式を評価し、真偽それぞれの場合に指定した内容を返します。

それぞれの書式は、

LEN(文字列)
IF(論理式, [値が真の場合], [値が偽の場合])

になります。

冒頭の表を例に、「品番」列の各文字列が13文字かどうかをチェックするとします。

=IF(LEN(A2) = 13, "OK", "NG")

式の解説

=IF(LEN(A2) = 13, "OK", "NG")

LEN関数で、セルA2の文字列の文字数を取得します。

IF関数で、LEN関数で取得した文字数が13文字かどうかを評価し、そうであればOKという文字列を、異なればNGという文字列を返す式です。

LEN関数の第1引数

LEN(A2)

文字数を調べたいセル、または文字列や数値を指定します。

本例では品番であるセルA2を指定します。

IF関数の第1引数

=IF(LEN(A2) = 13, “OK”, “NG”)

論理式を指定します。

本例ではLEN関数で取得した文字数が13文字かどうかの論理式を指定します。

IF関数の第2引数

=IF(LEN(A2) = 13, “OK”, “NG”)

第1引数の結果が真(TRUE)であった場合の処理を指定します。

本例では、文字数に問題がないため、OKを指定します。

IF関数の第3引数

=IF(LEN(A2) = 13, “OK”, “NG”)

第1引数の結果が偽(FALSE)であった場合の処理を指定します。

本例では、文字数に問題があるため、NGを指定します。

LEN関数とLENB関数の使い分け

本例では全角、半角問わず文字数のみのチェックのためLEN関数を使用していますが、全角、半角を意識して文字数をチェックする必要がある場合はLENB関数をご使用ください。

Excel 2019、Office 365版のExcelをお使いの場合

新たに追加されたIFS(イフス)関数とSWITCH(スウィッチ)関数が使用できます。 IFS関数の書式は、

IFS(論理式1, 真の場合1, 論理式2, 真の場合2, ...)

となり、論理式と真の場合の組み合わせは最大127個まで指定できます。 SWITCH関数の書式は、

SWITCH(検索値, 値1, 結果1, 値2, 結果2, ..., [既定の結果])

となり、値と結果の組み合わせは最大126個まで指定できます。

Massteryで対応するとこうなる

Massteryでもエクセルのように、文字数をカウントする関数がございます。

Massteryでの文字数チェック例 前半 Massteryでの文字数チェック例 後半

指定内容

変換対象カラム
Massteryはフォーマットの項目単位で変換を指定しますので、入力ファイルの項目(列の名称)を指定します。今回は項目の状態を調べて出力する項目を新たに設けて割り当てるようにします。
変換方法
変換対象カラムに値またはロジックを適用する「=」を指定します。
値または変換ロジック
状態を分かりやすく説明するために出力したいテキストを記述しますが、その他にも出力することもあるので別のテキストが追加されるようにするため、数式“&”で連結するようにし、「”チェック項目”&[幅が数値以外]」と指定します。
条件1_仕入先項目
数値でるかをチェックするLENGTH関数を使用し、調べる項目を指定します。
※図では小文字でlengthと指定していますが、大文字でも小文字でも適用されます。
条件1_演算子
13文字以外に出力したいので「=(完全一致)」を指定します。
条件1_値
規定の文字数で出力しますので「13」を指定します。

LENGTH関数式の解説

Massteryでの書式は以下になります。

LENGTH("参照先カラム名称")

引数は1つになります。

引数

LENGTH("品番(13文字固定)")

文字数を確認する項目を指定します。カラム名称を指定する場合は、ダブルクォーテーションで囲います。 関数が実行されますと文字数が返却されますので、文字数を出力するカラムを用意して、文字数そのものを出力することもできます。

如何でしたでしょうか。 文字数のカウントは必ずと言っていいほど、データ整備の現場では使われていますね。 Massteryでは他にもデータ整備に特化した機能を日々開発しております。 データ整備のお悩みを解消できる機能が網羅されておりますので、是非お問い合わせください。

関連記事

同じカテゴリの記事

お問い合わせ

Massteryのより詳しい情報、ご対面でのご案内をご希望の方は是非お問い合わせください。
下記のお問い合わせフォームよりお申し込み頂ければ担当の営業からご連絡いたします。

運営会社 フォルシア株式会社

Close Bitnami banner
Bitnami