EXCEL小技集:特定の文字列と文字列の間の値を抽出する方法
ECサイトを運営していると大量の商品データをCSVやEXCELファイルで管理している会社様も多いのではないでしょうか。
そして、サイトリニューアルや仕様変更に伴って時々おこる命名規則の変更。ブリッジワンでも度々生じています。
弊社の製品は製品の性質上(サイズバリエーションが多い)、商品名に商品のサイズを入れているのですが、その商品名からサイズの値だけを抽出したいというケースがありました。
言い換えると「特定の文字列と文字列の間の値を抽出したい」というケースです。
覚え書きの意味も含めてご紹介致します。
やりたい事
すでに商品名の一部として入力してしまった高さ、幅、厚みの3つの値をそれぞれ抽出したい
使用する関数
MID関数とFIND関数を使います。それぞれの関数に関して詳しくはgoogle先生まで・・・
まとめるとこうなります
=MID(A2,FIND(“開始文字列”,A2)+開始文字列の文字数,FIND(“終了文字列”,A2)
-FIND(“開始文字列”,A2)-終了文字列の文字数)
少し分かりづらいのでB2(幅の値)の数式を例に解説です。
赤:抽出するセル(A2)を入力
青:A2のセルの”幅”という文字左から検索していき、次の文字(+1)から開始。
検索する文字列が2文字の場合は+2となります。
緑:終了文字の”×高”までの文字数から、抽出開始文字の”幅”までの文字数を引くと、その間の文字数となります。”×厚”は抽出文字から除外したいので-2とします。
以上で特定の文字列と文字列の間の値を抽出する事が可能です。
コピペで使えるように、下記にそれぞれセルの数式を載せておきますね。
B2=MID(A2,FIND(“幅”,A2)+1,FIND(“×高”,A2)-FIND(“幅”,A2)-1)
C2=MID(A2,FIND(“高”,A2)+1,FIND(“×厚”,A2)-FIND(“高”,A2)-1)
D2=MID(A2,FIND(“×厚”,A2)+2,FIND(“mm”,A2)-FIND(“×厚”,A2)-2)