こんにちは、キャリカク一宮駅前の利用者「ファーストネームが K」 です。
「市場調査」といっても、Google検索を半自動化するお話です!

過去の私のブログ「ショートカットキー」でもぼやいていますが、病気のせいか加齢のせいか、複雑な作業だと途中でどこまでやったかわからなくなることが多々あります。しかしパソコン作業だと自動化または半自動化できるかもしれないので、日々の作業でGoogleスプレッドシートの関数を自分用業務アプリとして使っています。あくまで「自分用」で、その場しのぎの「業務アプリ」です。
電卓スプレッド 連載目次
~電卓から始まる編~
(1) はじまり・はじまり~👏
(2) 範囲で計算SUM系関数
(3) オートフィルで魔方陣
(4) ドル記号$で九九表
~自分用業務アプリ編~
(5) CONCATENATEで市場調査 ← 今回
(6) PROPER、SPLIT、TEXTJOINで名刺作成
(7) SUBSTITUTEで定型文作成
(8) XLOOKUPで業務管理
今回は、企業リスト作成などの市場調査において、テキスト処理のための関数 CONCATENATE と TEXTJOIN を使って「Google検索URL」を半自動的に作成する自分用業務アプリを紹介します(CONCATENATE は「コンカチネイト」と読みます)。
🔰👩🏫記事中の数式入力例をGoogleスプレッドシートで試したい人は、Googleドライブの「マイドライブ」フォルダに移動して [新規作成]→[Googleスプレッドシート] で自分専用のスプレッドシートで試すことができます。
⚠👨🏫記事中の数式入力例はGoogleスプレッドシートでしか試していませんが、マイクロソフトExcelでも似たような感じでできるはずです。
⚠👩🏫 CONCATENATE 関数は、GoogleスプレッドシートとExcelでは互換性がないので注意してください。この記事では、両者で共通に使えるやり方だけを紹介しています。(Googleスプレッドシートの CONCATENATE に相当するExcelの関数は CONCAT です。)
愛知・岐阜・三重の各県にどんな博物館があるのか、さらに歴史に関する資料を展示・保管しているかどうか調べたいとします。
ふつうには、下の図のように、「愛知県」「博物館」「歴史」のように絞り込んでGoogle検索してみると思いますが、これをある程度自動化しようというのが今回の課題です。

検索ワードの入力欄ではなく、その上にあるURLの欄に注目してください。Googleのドメイン名のあとに「search?q=」というのが続いて、さらに検索ワードが(プラス記号「+」で区切られて)続いています。
このように、特殊なURLをGoogleのサイトに送信することでも、検索できます。
すると、この検索URLをスプレッドシートに貼り付けて、それをクリックしても検索できます。
さらに、「愛知県」の部分を岐阜県や三重県などに変えるような仕掛けをスプレッドシートに施せば、「博物館調査アプリ」ができそうです。
ポイントは、さっきの検索URLが次の3つのテキスト(文字列)から構成されているということです。
1️⃣ "https://www.google.com/search?q="
2️⃣ "愛知県"
3️⃣ "+博物館+歴史"
そして、この3つのテキスト(文字列)を連結(concatenate)すれば、元の検索URLになるってことです。2️⃣ "愛知県" の部分を岐阜県や三重県に置き換えられるようにすれば、それだけで立派な業務アプリになりそうです。
細かいことはあとにして、とりあえず次の表を、「地域」と書かれたセルが A1 の位置になるようにコピペするか打ち込んでください。(コピペで貼り付けるときは Ctrl+Shift+V(値のみ貼り付け)がお勧め。手入力で打ち込むとき、テキストは半角の二重引用符 " で囲まなければならないことに注意してください。)
| 地域 | 検索URL |
| 愛知県 | =CONCATENATE("https://www.google.com/search?q=", A2, "+博物館+歴史") |
| 岐阜県 | |
| 三重県 |
セル B2 だけに数式を書いておいたので適宜オートフィルしてください(オートフィルについては第3回のステップ3を参照してください)。すると、次の図のように各地域に関する検索URLが半自動的に生成されます。

CONCATENATE は、言ってみれば、テキスト(文字列)の足し算あるいは合計を計算する関数です。上の例では、CONCATENATE 関数にカンマ区切りで3つのテキストを渡して、それらを足し合わせています。ただし、2番目のテキストにはセル A2 を指定しています。つまり、次の3つのテキストの連結(concatenate)です。
1️⃣ "https://www.google.com/search?q="
2️⃣ A2
3️⃣ "+博物館+歴史"
改めて、この3つのテキストを足し合わせる数式は次のようになります。
CONCATENATE("https://www.google.com/search?q=", A2, "+博物館+歴史")
ステップ2で、3つのテキスト(文字列)を足し合わせましたが、2番目と3番目の検索ワードの部分に注目すると、"愛知県"(または A2)と "博物館" と "歴史" の3つのワードを文字 "+" で区切っていることがわかります。
そんなときには、TEXTJOIN 関数が便利です。
TEXTJOIN("+",TRUE,A2,"博物館”,”歴史")
これで、セル A2 と "博物館" と "歴史" が "+" で区切られたテキストを生成できるのですが、いちいち TRUE(または FALSE)という値も渡しておかなければなりません。この TRUE は空白セルを無視するという意図を表しています。つまり、もし A2 が空白ではなく、例えば "愛知県" が入力されていれば、上の数式の結果は
"愛知県+博物館+歴史"
というテキストになりますが、もし A2 が空白なら、
"博物館+歴史"
というテキストになります。
Googleスプレッドシートの JOIN 関数であれば、TRUE(または FALSE)が必要ないので(ただし、空白セルは無視されません)、次のように簡潔に書けます。
JOIN("+",A2,"博物館”,”歴史")
ただし、空白セルは無視されないので、もし A2 が空白なら、
"+博物館+歴史"
というテキストになります。JOIN 関数は第6回でも詳しく取り上げる予定です。
では、ステップ2で作った業務アプリを、検索ワードの部分に TEXTJOIN を使ったものにバージョンアップさせてみましょう。先ほどと同様に、次の表を「地域」と書かれたセルが A1 の位置になるようにコピペするか打ち込んでください(あるいは、セル B2 の部分だけコピペなどで書き換えてください)。
| 地域 | 検索URL |
| 愛知県 | =CONCATENATE("https://www.google.com/search?q=", TEXTJOIN("+", TRUE, A2, "博物館", "歴史")) |
| 岐阜県 | |
| 三重県 |
再びセル B2 のフィルハンドルをドラッグしてオートフィルしてください(オートフィルについては第3回のステップ3を参照してください)。ただし、列A の空白セルのところ(下の図では B5)までオートフィルしてみてください。すると、下の図のように B5 には地域名のない検索ワードになっているはずです。

テキスト(文字列)の連結には、演算子 & も使えます。& は数値の足し算 + のテキスト版です。例えば、
CONCATENATE("https://www.google.com/search?q=", A2, "+博物館+歴史")
を演算子 & を2個使って次のように書くこともできます。
"https://www.google.com/search?q=" & A2 & "+博物館+歴史"
どちらを使ってもいいですが、CONCATENATE が範囲を指定できるのに対し、演算子 & は範囲を指定できないので注意してください。
また、TEXTJOIN 関数の「逆操作」に当たる SPLIT(Excelでは TEXTSPLIT)という関数もあるので、セットで覚えておくといいかもしれません。詳しくは第6回で取り上げる予定です。
就労継続支援B型
キャリカク一宮駅前
愛知県一宮市大江3丁目12-22 一観ビル1階
電話番号:0586-71-3577 FAX:0586-71-3587
CONTACT


