Pocket

URLからパラメータを取り除く時はFIND関数を使用します。

FIND関数に似た関数でSEARCH関数がありますが、この場合は、FIND関数を使う必要があります。

≪FIND関数≫
FIND(検索文字列,対象,[開始位置])
 ・検索文字列  ← 必須。検索する文字列を指定します。
 ・対象     ← 必須。検索文字列を含む文字列を指定します。
 ・開始位置   ← 省略可。検索を開始する位置を指定します。
              対象の先頭文字から検索を開始するときは 1 を指定します。
              開始位置を省略すると、1 を指定したと見なされます。

≪SEARCH関数≫
SEARCH(検索文字列,対象,[開始位置])
 ・検索文字列    ← 必須。検索する文字列を指定します。
   ・対象       ← 必須。検索文字列を含む文字列を指定します。
   ・開始位置     ← 省略可。検索を開始する位置を指定します。
             対象の先頭文字から検索を開始するときは 1 を指定します。
             開始位置を省略すると、1 を指定したと見なされます。

上記を見ると2つの関数は同じように見えますが下記の点が違います。
 1.FIND関数は[大文字と小文字を区別する]、SEARCH関数は[大文字と小文字を区別しない]
 2.FIND関数は[ワイルドカード文字を使用できない]、SEARCH関数は[ワイルドカード文字を使用できる]

ここでの問題は、SEARCH関数は[ワイルドカード文字を使用できる]という点です。
SEARCH関数で今回の[検索文字列]に[?]を入力してしまうとワイルドカードと認識してしまい、文字列としての[?]を抽出することが出来ません。

SEARCH関数を使用して、セル[B2]に[?]の位置を特定する関数を埋め込みます。
Excel_parameter2_01

1.[検索文字列][対象][開始位置]を下記のように設定します。
2.[OK]ボタンをクリックします。
 search関数の設定の仕方

[?]の位置が左から「1」という結果になってしまいました。Excel_parameter2_03

これは、[検索文字列]で入力した[?]が文字列ではなく、任意の1文字」というワイルドカードとして認識されてしまったためです。

その為、上記のようなケースでは、SEARCH関数ではなく、FIND関数を使用する必要があります。

関数、ピボットテーブル、時短のワザなどのExcel講座を実施しています。

 

「仕事で生かす」Excel講座はこちら

Pocket