区切り文字で区切られたデータから特定の列を取り出す計算式
はじめに
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関数を組み込んでいます。
注意点
この方法を使用する際の注意点としては、分割するデータに3列目が存在しない場合、エラーが発生する可能性があります。また、各行に対して式を適用する必要があるため、大量のデータがある場合は処理に時間がかかることがあります。
Excelの最新機能を活用することで、区切り文字で区切られたデータから特定の列を簡単に取り出すことができます。この方法は、データの整理や分析において非常に便利です。
コメント