【スプレッドシート】?を含むとき、その以降を削除する方法|LEFTとFIND関数の使い方

【スプレッドシート】?を含むとき、その以降を削除する方法|LEFTとFIND関数の使い方

スプレッドシートでテキスト処理を行う際、特定の文字(この場合は「?」)以降の文字列を削除したい場合があります。今回は、LEFT関数とFIND関数を組み合わせることで、セル内の「?」以降を削除する方法を解説します。以下の関数は、セル B2 の中で「?」が含まれている場合、その位置より前の文字列のみを抽出します。

サンプル関数

=LEFT(A1, FIND("?", A1 & "?") - 1)

コード解説

B2 & "?"

  • この部分は、B2 の内容の末尾に「?」を強制的に追加します。これにより、B2 に「?」が含まれない場合でも FIND 関数が常に値を返すようになります。

FIND("?", B2 & "?")

  • 追加した「?」を含め、B2 内の「?」の位置を検索します。B2 に「?」が含まれている場合は、その位置が返され、含まれていなければ末尾に追加された「?」の位置が返されます。

LEFT(B2, … - 1)

  • LEFT 関数は、B2 の文字列の先頭から指定した文字数だけ抽出します。FIND 関数で取得した位置から 1 を引くことで、「?」そのものを除いた文字列を取得します。

実用例

URLのパラメーターを取り除く際に使えます。

この記事をシェアする

どなたでもコメントや質問をどうぞ

スパム対策のため、承認作業を行うまでは表示されません。ご了承ください。

CAPTCHA