スプレッドシートでHTMLタグのみを取り除く関数・GAS【サンプルコードあり】

この記事の内容について、業務や開発でお困りの場合は個別に対応できます。

スプレッドシート内にHTMLタグが含まれるテキストを処理する際、それらのタグを取り除く必要があることがあります。Google Sheetsには直接HTMLタグを除去するための標準関数はありませんが、Google Apps Scriptを使用することでカスタム関数を作成できます。

この記事では、簡単なカスタム関数を作成し、スプレッドシート内でHTMLタグを除去する方法を紹介します。

私の場合は、MakeShopからダウンロードした商品をGMCのフィード化するのに用いました!

手順

1. スクリプトエディタの開き方

まず、スプレッドシートを開き、「拡張機能」>「Apps Script」を選択します。これにより、Google Apps Scriptエディタが開きます。

2. スクリプトの記述

次に、以下のスクリプトをコピーして、コードエディタに貼り付けます。このスクリプトは、HTMLタグを除去するためのカスタム関数REMOVEHTMLを定義します。

/**
 * 指定したセルからHTMLタグとHTMLエンティティを取り除くカスタム関数
 *
 * @param {string} input - HTMLタグを含むテキスト
 * @return {string} - HTMLタグとHTMLエンティティが取り除かれたテキスト
 * @customfunction
 */
function REMOVEHTML(input) {
  if (typeof input !== 'string') return '';
  // HTMLタグを除去
  var noHtml = input.replace(/<\/?[^>]+(>|$)/g, "");
  // HTMLエンティティを除去
  var noEntities = noHtml.replace(/&[^;]+;/g, "");
  return noEntities;
}

この関数は、入力されたテキストからHTMLタグを正規表現を使って除去します。

↑は単純に<>で囲まれたタグだけでなく、&nbsp;などのHTMLエンティティも削除するようにしてみました。これで割といいはず。

3. スクリプトの保存

スクリプトエディタの左上にある「保存」アイコンをクリックし、プロジェクトに名前を付けて保存します。例えば「RemoveHTMLTags」といった名前にします。

4. カスタム関数の使用方法

スクリプトを保存したら、スプレッドシートに戻り、以下のようにカスタム関数を使用します。

=REMOVEHTML(A1)

この関数は、セルA1に含まれるテキストからHTMLタグを取り除いた結果を返します。他のセルに適用する場合は、適宜セル参照を変更してください。

まとめ

Google Apps Scriptを使用すると、スプレッドシートで様々なカスタマイズが可能になります。

もしわからないことあったらコメント欄にどうぞー!

ZIDOOKA!

この記事の内容について、対応できます

この記事に関連する技術トラブルや開発上の問題について個別対応を行っています。

個別対応は3,000円〜 内容・工数により事前にお見積りします
最後までお読みいただきありがとうございました

コメントを残す

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

AI活用に関するポリシー

当サイトでは、記事の執筆補助にAIを活用する場合がありますが、全面的な委任は行いません。