セル内から特定の行数を抽出したい
例えば、改行が多々入った特定のセル内から「2行目」「4行目」・・・といった特定の行を抽出したい場合に使える方法です。
![](https://eguweb.jp/wp-content/uploads/202302032242-00.jpg)
3つの関数を組み合わせて作ります。
SPLIT関数
まずは、SPLIT関数を使います。こちらは、特定の文字でセルの中を別のセルに分けることができる便利な関数です。
例えばこのようにすると、カンマ区切りのセルをバラバラに分けることができます。
=SPLIT($A18,",")
![](https://eguweb.jp/wp-content/uploads/202302032246-00.jpg)
![](https://eguweb.jp/wp-content/uploads/202302032246-01.jpg)
![](https://eguweb.jp/wp-content/uploads/202302032247-00-1024x213.jpg)
セルがカンマで区切られて、バラバラに分けられました!
CHAR関数
次に、CHAR関数を使います。こちらは、数値で指定された文字を返します。例えば、以下のようにすると「d」という文字が返ります。
=char(100)
![](https://eguweb.jp/wp-content/uploads/202302032248-00.jpg)
こちらのCHARを10にした場合、改行を指定することができます。
![](https://eguweb.jp/wp-content/uploads/202302032249-00.jpg)
こちらをsplit関数と組み合わせることで、改行をバラバラのセルに分けることができます。
![](https://eguweb.jp/wp-content/uploads/202302032250-00.jpg)
行が空白行を取り除いて全てバラバラに分かれました!
![](https://eguweb.jp/wp-content/uploads/202302032250-01-1024x355.jpg)
INDEX関数
[rml_read_more]
あとは、この中から必要なINDEX番号を取得すれば、必要なデータを抽出することができます。
例えば、以下のようにすると、INDEX番号2番目のセルが抽出できるので、「レースブラウスシャツ」が表示されることになります。
=index(split(A4,char(10)),2)
![](https://eguweb.jp/wp-content/uploads/202302032255-00.jpg)
![](https://eguweb.jp/wp-content/uploads/202302032255-01-1024x405.jpg)
あとは、それぞれ必要なINDEX番号を抽出すれば完成です。
=INDEX(SPLIT($A4,CHAR(10)),2)
=INDEX(SPLIT($A4,CHAR(10)),4)
=INDEX(SPLIT($A4,CHAR(10)),6)
=INDEX(SPLIT($A4,CHAR(10)),8)
=INDEX(SPLIT($A4,CHAR(10)),10)
![](https://eguweb.jp/wp-content/uploads/202302032256-00-1024x476.jpg)
まとめ
このような感じで3つの関数を組み合わせることで、欲しいデータが抽出できました。
- INDEX関数
- CHAR関数
- SPLIT関数
ご参考ください。