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

数式 / 関数 , , ,

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

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

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

FIND関数とLEFT関数

例えば、セルA2に

01:東京都

と入っているなら、

=FIND(":",A2)

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

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

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

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

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

コメントをどうぞ

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  • ▼お小遣い稼ぎしませんか?▼ 日々の生活にhappyをプラスする|ハピタス

    クレジットカード・FX口座を作るだけで簡単に3万円GETです。一切支出はありません。

テンプレート COLUMN 変換 検索 INDEX 無料 印刷 SUMIFS バーコード 日付 HLOOKUP コピペ 置換 作業効率UP NA() TODAY 条件付き書式 ユーザー定義関数 ワイルドカード VLOOKUP XLSTART COUNTIF SUM 図形 MATCH 目標 SUMIF グラフ DATE フロー図
  • 関西在住の30代サラリーマン。事務職で毎日Excelと戯れています。
    システム導入なんて資金が無い!Excelでなんとかやりたい零細中小の社長さん・事務員さんの力になればと思います。
    詳しいプロフィール


PAGE TOP ↑