スプレッドシート関数 指定した文字まで抜き出す

日記

スプレッドシート関数 指定した文字まで抜き出す

副業ではGoogleスプレッドシートという、エクセルのようなものをよく使います。
関数を使うとデータ整理がとても便利なのですが、関数が多すぎてどれを使えば良いのかよくわかりません笑
なので、僕がよく使うもので覚えられない関数を、メモしておこうと思います。

aaaa/bbbb(cccc)
例えばこんな文字がA1に入力されていて↓のB1、C1、D1それぞれに分けるやり方です。
  A B C D
1 aaaa/bbbb(cccc) aaaa bbbb cccc

セルを指定して、

[データ]→[テキストを列に分割]

でも似たようなことができるのですが、僕の場合はそれではちょっと都合が悪かったので以下の関数を使いました。

指定した文字まで抜き出す

A1にある「aaaa/bbbb(cccc)」の、先頭から”/”までの文字を抜き出して、表のB1の「aaaa」だけ表示させる。
B2に以下を入力します。

=LEFT(A1,FIND("/",A1)-1)

指定した文字と文字の間を抜き出す

「/」と「(」(全角)の間の文字を抜き出して、「bbbb」を表示させたい。
C1に以下を入力します。

=REGEXREPLACE(A1,".*?/ (.*?)(.*","$1")

こちらは正規表現という記号を使って指定するやり方(わかってない)です。
次の関数をいじったらたまたま思ったように表示されたので、状況によっては違った結果になるかもしれません。

うまくいかない時は次を先に試してください。

カッコの中身を表示させる

元のデータ(A1)は全て半角でうまくいかなかったので、カッコだけ全角に変換しました。
半角カッコが続くとうまく指定できないのが理由です。
カッコじゃなくても全角ならなんでも良さそうです。

aaaa/bbbb(cccc)

aaaa/bbbbcccc

それから以下の関数をD1に入力しました。
わかりにくいと思いますが「((.*?))」の外側のカッコ(赤色)が全角に変換したカッコを指定してます。

=REGEXREPLACE(A1,".*?(.*?).*?","$1")

理屈は↑の関数と同じで、指定する文字を変えただけです。

他にもありますが、僕にはデータ整理にはこれらが欠かせません。
少しは正規表現を覚えたほうが便利に使えそうなので、そのうち簡単なものなら覚えようと思ってます。

ポジティブ日記

その日あったよかったことを3つ書く
  • ずっと書こうと思っていて忘れてたこの記事を書けた。
  • 思ったより早く起きれた。
  • 少し余裕を持って午前中の予定を終わらせた。
日常
感じたこと、学んだことなどなんでも日記と、その日あった良かったこと(ポジティブ日記)。続けることを目的に、とにかく毎日更新しています。

コメント

タイトルとURLをコピーしました