複数の項目を区切り文字で結合したい

複数の項目を区切り文字で結合したい

データが各列に分かれている

ご提供頂くデータの中で、各列にデータが分かれている状態で、データベースに保存する際に1つのデータとして保存するため、データを連結しなければならない場合があります。

品番 品名 仕様名称1 仕様値1 仕様単位1 仕様名称2 仕様値2 仕様単位2
010001 製品1 長さ 50 mm 重さ 100 g
010002 製品2 高さ 100 mm 重さ 250 g
010003 製品3 長さ 150 mm 重さ 400 g
010004 製品4 高さ 200 mm 重さ 55 g

これは取引先様ごとに管理体系が異なっていたり、海外の取引先様の管理概念が異なっていたりなどが原因です。

データを特定の区切り文字で連結する

各列のデータを連結するには、CONCATENATE(コンケイトネイト)関数を使用します。

CONCATENATE関数は、引数に指定したセル、または文字列を、引数順に連結した結果を返します。

引数は、最大で255個指定でき、合計8,192文字まで指定できます。CONCATENATE関数の書式は、

CONCATENATE(文字列1, [文字列2], ...)

になります。

冒頭の表を例に、製品1の仕様に関するデータを「仕様名称1:仕様値1 仕様単位1, 仕様名称2:仕様値2 仕様単位2」の形に加工したいとします。

=CONCATENATE(C2, ":", D2, " ", E2, ", ", F2, ":", G2, " ", F2)

式の解説

第1引数

=CONCATENATE(C2, “:”, D2, ” “, E2, “, “, F2, “:”, G2, ” “, F2)

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

本例では仕様名称1であるセルC2を指定します。

第2引数

=CONCATENATE(C2, “:”, D2, ” “, E2, “, “, F2, “:”, G2, ” “, F2)

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

本例では区切り文字である":"(コロン)を指定します。

第3引数

=CONCATENATE(C2, “:”, D2, ” “, E2, “, “, F2, “:”, G2, ” “, F2)

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

本例では仕様値1であるセルD2を指定します。

第4引数

=CONCATENATE(C2, “:”, D2, ” “, E2, “, “, F2, “:”, G2, ” “, F2)

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

本例では区切り文字である" "(半角スペース)を指定します。

第5引数

=CONCATENATE(C2, “:”, D2, ” “, E2, “, “, F2, “:”, G2, ” “, F2)

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

本例では仕様値1であるセルE2を指定します。

第6引数

=CONCATENATE(C2, “:”, D2, ” “, E2, “, “, F2, “:”, G2, ” “, F2)

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

本例では区切り文字である","(カンマ)、" "(半角スペース)を指定します。

第7引数以降

第1引数から第5引数までと同様です。

備考

数式に「&」でセルや文字列の連結ができるので、わざわざCONCATENATE関数を使わずとも良いのですが、連結したいデータが多い数式が見づらくなり、作業ミスを誘発する可能性があるため、連結したいデータ量で使い分けるのが吉です。

また、CONCATENATE関数を使い、Ctrlキーを押しながら次々にセルをクリックしていくと素早く正確に入力できます。

CONCATENATE関数の設定時にCtrlキーを押しながら次々にセルをクリック

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

新たに追加されたTEXTJOIN(テキストジョイン)関数とCONCAT(コンカット)関数が使用できます。 TEXTJOIN関数の書式は、

TEXTJOIN(区切り記号, 空の文字列を無視するかどうかの論理値, 文字列1, [文字列2], ...)

となりますが、区切り記号は1つしか指定できない点にご注意ください。 CONCAT関数の書式は、

CONCAT(文字列1, [文字列2], ...)

となります。

Massteryで対応するとこうなる

記事の投稿時点では、Massteryには、CONCATENATE関数はご用意しておりませんが、項目を連結する「&」を使って項目を連結して出力することができます。

Massteryで各項目を連結して出力する例

指定内容

変換対象カラム
Massteryはフォーマットの項目単位で変換を指定しますので、出力ファイルの項目(列の名称)を指定します。
変換方法
変換対象カラムに値またはロジックを適用する「=」を指定します。
値または変換ロジック
“仕様名称1″&:&”仕様値1″&”仕様単位1″&,&”仕様名称2″&:&”仕様値2″&”仕様単位2”

式の解説

項目を連結する関数は無く、数式の「&」を使用して項目を繋ぎ、区切り文字を追加して整形します。

例では、項目名と値、単位がぞれぞれ項目としてあります。項目名を指定しますと行の項目値を出力しますので、、項目名と挿入したい文字を組み合わせて指定します。項目名は、ダブルコーテーションで囲い、テキストはそのまま記述するルールになりますので、

"仕様名称1"&:&"仕様値1"&"仕様単位1"&,&"仕様名称2"&:&"仕様値2"&"仕様単位2"

になります。

上記の式で、例の2行目は、

長さ:50mm,重さ:100g

と出力します。

関連記事

同じカテゴリの記事

お問い合わせ

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

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

Close Bitnami banner
Bitnami