質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

置換

置換とは文字列中の特定の文字に対して、別の文字列に置き換えることを指します。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Q&A

解決済

1回答

1522閲覧

Googleスプレッドシート、複数の違う文字の置換について

buffalotech

総合スコア3

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

置換

置換とは文字列中の特定の文字に対して、別の文字列に置き換えることを指します。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

0グッド

0クリップ

投稿2020/08/28 05:22

編集2020/08/28 05:24

Googleスプレッドシートについての質問です。

現在、1つのセル内に複数のデータが改行されて格納されています。
しかし、データの中の一部の文字が実態参照コードで出てしまっているという状況があります。
そこで、この実態参照コードの部分のみを、本来あるべき文字に変換すること試みています。

以下が、1つのセル内に格納されているデータの例になります。


私の名前は桸絤 뻍忶です。
None
2-25-7, None
䷤町读吂剰に住んでいます。
剝末 1570066


実態参照コードは、必ず「&#」で始まり「;」で終了する合計8文字で1つとなっています。
実態参照コードから本来の文字への変換はVLOOKUP関数を使用して変換可能です。

実態コードの数や場所はセルごとによって違うため、実態参照コードの部分のみを、本来あるべき文字に変換できるようにしたいと考えております。


試したこと

SUBSUTITUTE関数とVLOOKUP関数を用いての置換をこころみましたが、変換の回数がセルによって変化するため苦戦しております。

何卒宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Daregada

2020/08/28 06:36 編集

数値実体参照だとすると、「桸絤 뻍忶」は「桸絤 뻍忶」になりますが、これで合っているのでしょうか。
buffalotech

2020/08/28 06:57

Daregadaさん その変換で間違いありません。 サンプルのため、数値の部分はランダムで記載しているためそのような結果になる次第です。
guest

回答1

0

ベストアンサー

コンテナバインドスクリプトにカスタム関数hogehogeを作り、「=hogehoge(変換元セル)」で結果を得る。
hogehogeは、そちらで適当な名前に変更してください。

GAS

1function hogehoge(value) { // 適切な関数名に変更 2 var re = /&#(\d+);/g; 3 var group; 4 var target = [] 5 var translated = []; 6 while ((group = re.exec(value)) !== null) { 7 target.push(group[0]); 8 translated.push(String.fromCharCode(parseInt(group[1]))); 9 } 10 for (var i = 0; i < target.length; i++) { 11 value = value.replace(target[i], translated[i]); 12 } 13 return value; 14}

投稿2020/08/28 07:13

Daregada

総合スコア11990

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

buffalotech

2020/08/28 09:46

Daregadaさん 無事変換することができました!! 本当にありがとうございます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問