ひとつのセルに入っているデータを分解して使用する
【こんな人におすすめ】
データを集計したいが、必要な情報に他の情報がついていて使えない。膨大なデータ量があるので手作業は避けたいけど・・・。
こんなデータがあったとします。商品名を使って集計をしたいがほかの情報がついているためできない・・。さて、どのような方法があるでしょう。
とりあえず手作業で頑張ってみる!
これぐらいの量なら頑張ってできるが、100行、1,000行と増えれば増えるほど労力がかかってしまう。とりあえず手作業で頑張ってみるが・・
区切り位置の機能を使って分割してみましょう。
1.リボンからデータツール、区切り位置を選択します。
2.区切り位置指定ウィザードを使い、同一の記号があれば指定して区切ります。同一の記号がない固定長データの場合は、前の画面でスペースによって・・を選択し区切り位置を決定します。
3.こんな感じで区切ることができます。
基本的な関数を使ってセルに値を抽出してみましょう。
1.LEFT関数/RIGHT関数
=RIGHT(LEFT(B3,12),3)
次の順で考えて記述してみましょう。
①LEFT(B3,12) :左側から12文字を抽出します。【20201201-商品A】
②RIGHT( ① ,3) :①で抽出した12文字の右側3文字。【商品A】
2.MID関数/SEARCH関数
=MID(B3,SEARCH("-",B3)+1,3)
次の順で考えてみましょう。
①SEARCH("-",B3)+1 :最初に - が現れる文字数【9文字目】に+1する。
②MID(B3, ① ,3) :B3セルの値の①文字数(10文字目)から3文字抽出
【おまけ】商品名が何個あるのかだけ知りたいときは?
1.COUNTIF関数
=COUNTIF(B3,"*商品A*")
COUNTIF : 条件に一致する値をカウントします。なお、今回は「*」を前後につけることで、セルに条件が「含まれる」文字をカウントしています。