カンマなどの区切り文字で区切られたデータから特定の列を取り出すExcelの計算式(TEXTSPLIT関数他)

区切り文字で区切られたデータから特定の列を取り出す計算式

はじめに

Excelの最新版では、「スピル,TEXTSPLIT関数,INDEX関数」などを用いて区切り文字で区切られたデータから特定の列を簡単に取り出すことができます。この記事では、その方法を初級クラスの方にもわかりやすく解説します。

サンプルデータ

以下のサンプルデータを例に説明します。範囲はA1:A11になります。すべてのデータがA列に入力されています。区切り文字は「|」を使用していますが、処理的には「,」などでも同じ結果になります。

商品番号|商品分類|価格|メーカー|カラー
10001|カラープリンター|52000|CEIRO|アイボリー
10002|デスクパソコン|53000|HERT|ブラック
10003|デスクパソコン|58000|HERT|アイボリー
10004|モノクロプリンター|27000|HERT|ブラック
10005|カラープリンター|17000|CEIRO|アイボリー
10006|ノートパソコン|21000|THOM|グレー
10007|モノクロプリンター|53000|CEIRO|アイボリー
10008|ノートパソコン|39000|HERT|ブラック
10009|デスクパソコン|39000|HERT|ブラック
10010|フルカラースキャナー|58000|HERT|アイボリー

使用する関数

この方法ではTEXTSPLIT関数INDEX関数を使用します。以下に、これらの関数の簡単な説明を追加します。

  • TEXTSPLIT関数:
    この関数は、指定された区切り文字を使用して文字列を分割します。たとえば、”A|B|C”という文字列を「|」で分割すると、”A”、”B”、”C”という3つの別々の要素を持つ配列が得られます。これにより、複数のデータが一つのセルに含まれている場合に、それらを個別に扱うことができます。
  • INDEX関数:
    INDEX関数は、配列または範囲内の特定の位置にある値を返します。この関数を使用すると、特定の行や列のデータを取り出すことができます。たとえば、配列{“A”, “B”, “C”}から2番目の要素を取り出す場合、INDEX関数は”B”を返します。第一引数は配列の領域、第二引数は行番号、第三引数は列番号を指定する欄です。

計算式の作成

例えば、各行の3列目のデータを取り出したい場合、以下の計算式を使用します。

=INDEX(TEXTSPLIT(A1, "|"),,3)

この式を各行に適用することで、目的のデータを取り出すことができます。上のサンプル図ではB1に生成し、各行へコピーしています。

計算処理の詳細な解説

「TEXTSPLIT」関数は、A1セルの文字列を「|」で分割し、その結果を配列として返します。次に、「INDEX」関数がこの配列の3列目のデータを取り出します。この処理を各行に適用することで、表の各行から3列目のデータを取り出すことができます。

処理としてはINDEX関数内の引数:配列へTEXTSPLIT関数を組み込んでいます。

INDEX関数の引数ダイアログボックス内

TEXTSPLIT関数の引数ダイアログボックス内

注意点

この方法を使用する際の注意点としては、分割するデータに3列目が存在しない場合、エラーが発生する可能性があります。また、各行に対して式を適用する必要があるため、大量のデータがある場合は処理に時間がかかることがあります。

Excelの最新機能を活用することで、区切り文字で区切られたデータから特定の列を簡単に取り出すことができます。この方法は、データの整理や分析において非常に便利です。

 

コメント