white printing paper with numbers

excelで、やりたいことは難しくないけど、
微妙にやりたいことまで辿り着けないってことが多々あります。

そんな時のための備忘です。


区切り文字の後ろの文字列が取得したい

やりたいことはこんなイメージ。

「/」で区切って各値を別セルに入れるだけならExcelの機能を使えばすぐできるけど、
最初の文字列を崩さずに一番後ろの文字列だけを取得してくるには、少し手間だったりします。

そこで、MIDとSUBSTITUTEを使用して、関数を作ってみました。

=MID( B2, FIND(“★”, SUBSTITUTE(B2, “/”, “★”, LEN(B2) – LEN(SUBSTITUTE(B2, “/”, “”)))) + 1, LEN(B2) – FIND(“★”, SUBSTITUTE(B2, “/”, “★”, LEN(B2) – LEN(SUBSTITUTE(B2, “/”, “”)))))



一応解説

少し長くなってしまいましたが、やってることは単純で



1. 一番後ろの区切り文字「/」を「★」に置換。

ここの部分

SUBSTITUTE(B2, “/”, “★”, LEN(B2) – LEN(SUBSTITUTE(B2, “/”, “”))))



2. 「★」までの文字列の長さを取得

ここの部分

FIND(“★”, SUBSTITUTE(B2, “/”, “★”, LEN(B2) – LEN(SUBSTITUTE(B2, “/”, “”))))



3. 「★」の後ろの文字列の長さを取得

ここの部分

LEN(B2) – FIND(“★”, SUBSTITUTE(B2, “/”, “★”, LEN(B2) – LEN(SUBSTITUTE(B2, “/”, “”))))



4. 1〜3で完成!!!