【スプレッドシート】IF・SEARCH関数を使って、キーワードごとに判別・分類しよう

こんにちは、Forkusです!

今回はURL中のキーワードに応じて、著者・記事カテゴリを左横コラムに出力する方法をご紹介します。

Forkus
「応用」と聞くとなんだか難しそうだけど、一つ一つ掘り下げれば簡単やで。

まずは、以下の表を見てみましょう。左側にURLが並んでいますね。

URLには、その記事を示す独自のキーワードが入っていることがあります。
特に、ブログの書き手が複数人いる場合だと、見分けをつけるために何かしらの印をいれていることが多いです。

本例では、平川さんは”hint”, 一方トムさんは”strategy”というキーワードをいれていますね。

しかし、扱うURLの量が多くなると、一つづつ見分けるのは大変です。

つまりはこういうことか・・(雑)

URLはわかっているのに、判別できるキーワードも知っているのに!

言葉では簡単に説明できても、スプレッドシートに再現できない・・
もどかしい気持ちになりますよね。

実はこれ、スプレッドシートの関数を使えば一瞬で解決できます。

皆さんは、こんな時どう考えますか。

つまりは
「もし(IF関数つかうのかな?)、URL中にキーワードを見つければ(SEARCH関数つかうのかな?)、横セルに○○さんが書いた記事であると入力させたい。」

と考えたあなた、そう!その通りなんです!

よし、さっそくIF関数とSEARCH関数を組み合わせよう。

Forkus
あれ・・でも、そうやってOOさんって呼び出せるんだろう。
IF関数とSEARCH関数ってどっちから先に使うんだよ

と考えている間に、手作業で。
これがスポット的な作業ならいいんですが、毎月データ集計で膨大なURLをさばくとなると大変です・・

こういう時は一つ一つ考えていくに限ります。

1. SEARCH関数を使ってURL上のキーワードを認識する

1.1. SEARCH関数のおさらい

まずは、個々の関数に沿って、どういう動きをするのかを探ってみましょう。

B2のセルに下記のSEARCH関数を入力します。

A2から”hint”を探してくる。というイメージです。

=SEARCH(“hint”, A2)
34!!!???

なんだ・・こいつサーチ関数のくせに全然サーチしてねえじゃねえか!!

と、おもったあなた。一度深呼吸です(過去のわたし)

解説
対象となるURL(A2セル)の34番目の文字に、hintがありました!という意味です。

つまりは、URLの中の34番目以降に、そのキーワードは「あるよ!」という一番知りたいことを回りくどく教えてくれているわけですね。

Forkus
SEARCH関数さんはツンデレだなぁ

しかし、何はともあれあるとわかってよかった・・
と一息つくのは少し早いです。これはあくまで我々の話。

次はスプレッドシートさんに、34とは「あるよ!」(=正 or TRUE)の意味なんだよ。
とわかってもらわなければいけません・・

34が正(しい)つまりTRUEであると分かってもらう・・!?

ヒント
34は数字ですか?→ はい(確信) という質問ならこの答えになりますよね。
以下では、〜は数字である、=TRUEと判別できる関数を使用します。

2. ISNUMBER関数を使って、対象となる○○が数字であるか判別する

2.1. ISNUMBER関数のおさらい

ISNUMBER関数さんは、その名の通り、~IS ”NUMBER(数字)”を表す関数です。何ともわかりやすい・・(これは)数字です!関数。

さっそく、先程つかったSEARCH関数と組み合わせてみましょう。

以下の関数をB2セルに入力します。

=ISNUMBER(SEARCH(“hint”, A2))
34は数字(NUMBER)なので、正しい(TRUE)、と出力するんですね!

SEARCH(“hint”, A2)= 34なので、上記のようにTUREが表示されました。

ここまでくるとあと一歩です。 もう少しがんばっていきましょう!

3. なんでわざわざTRUEにさせたの?→ IF関数を使うため

3.1. IF関数のおさらい

IF関数の使い方をまとめてみました。

ここがポイント
= IF(正誤をめる関数, TRUEのの表示内容,FALSEのの表示内容)

・今回は① = IF(ISNUMBER(SEARCH(“hint”, A2))
・①がTRUEの場合は②に任意で記入した内容がセルに反映されます。
・①がFALSEの場合は③(未入力でも自動的にFALSE表示)

以下では上の例をそのまま使って、IF関数を試してみましょう。

やっとIF関数の出番。ISNUMBER関数でTRUEを表示させた意味が生きてきます。

34は数字なので、”正しい時に(TRUE)表記する”がB2セルに反映されています。


次に、今回の目標である「表示させたい筆者・カテゴリ名」を代わりに入力しましょう。

無事に表示されました!(目標は半分達成です)

一方、今回はhintのみをSEARCH関数で検索したので、strategyが入っているURLでは当然FALSEが表示されてしまいます・・

Forkus
まじか

3.2. IF関数は足し算!IF(もし)をくっつけるだけで繰り返し試せる!

皆さん安心してください、IF関数は重ねて使用できます。

TRUEの値を優先して出すため、hintに当てはまらなかったら次はstrategy….といった具合で繰り返して、それでもダメな場合はFALSEを吐き出します。


以下のように、コピペしたIF関数のhintをstrategyに変更してそのままくっつけちゃいましょう!

画角の関係上、関数が長すぎて切れてしまいました…
以下の関数を参考にしてください↓(IF関数の数に応じて閉じかっこが増える点に注意しましょう。)
=IF(ISNUMBER(SEARCH("hint",A2)), "平川 正「英語のヒント」", IF(ISNUMBER(SEARCH("strategy",A2)), "トム・ハリー「English strategy」"))


無事に完成しました、おつかれさまです!

解説
対応するキーワードが増えれば、このようにIF関数以下をコピペして、あとはくっつけていくだけです。閉じかっこの数だけ注意しましょう。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA