エクセル術

区切り位置機能を使わず、関数だけで区切りたい

01:東京都
02:神奈川県
というように、「半角コロン」で区切られた文字列があります。
このとき、コロンより前半部(この場合、01や02)のみ取得したい場合、通常はExcelにある「区切り位置」という機能を使います。

これを使うと任意の文字(今回で言うとコロン)を区切り文字として設定し、その前後(2つあれば3つに分ける)で分割する事ができます。
ただしこれだと後半部も取得してしまいます。

後半部は全く取得しないような形で実現する場合、しかも関数だけで可能となります。

FIND関数とLEFT関数

例えば、セルA2に

01:東京都

と入っているなら、

=FIND(":",A2)

で、 “:”(半角コロン) が先頭から何文字目か(位置)として3が返されます。

そして、LEFT関数を使ってセルの先頭(左端)からFIND関数の結果の直前まで、コロンの手前までを拾えば、希望する結果を得られることになります。

=LEFT(A2,FIND(":",A2)-1)

ユーザー定義関数でも可能

この記事で文字列を分裂させるユーザー定義関数を紹介していますので、これを応用すれば可能でしょう。
この記事では句読点「、」「。」やバイト数で区切りの良いところで区切るようにしています。

モバイルバージョンを終了