スクリプトはネットで調べて超初歩から独学と雰囲気でどうにかしております。
効率のいいスクリプトを書ける方に質問です。
====================
var sheet = SpreadsheetApp.getActiveSheet();
var v = sheet.getRange('a:a').getValues();
for( var i=0; i<v.length; i++ ){
for( var j=0; j< v[i].length; j++ ){
v[i][j] = v[i][j].replace("東京都", "東京");
====================
上記のような置換用のスクリプトを複数の語を処理するため
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
var sheet = SpreadsheetApp.getActiveSheet();
var v = sheet.getRange('a:a').getValues();
for( var i=0; i<v.length; i++ ){
for( var j=0; j< v[i].length; j++ ){
v[i][j] = v[i][j].replace("東京都", "東京");
}
}
sheet.getRange('a:a').setValues(v);
var sheet = SpreadsheetApp.getActiveSheet();
var v = sheet.getRange('a:a').getValues();
for( var i=0; i<v.length; i++ ){
for( var j=0; j< v[i].length; j++ ){
v[i][j] = v[i][j].replace("大阪府", "大阪");
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
のようにただただ何回も記載して縦長なスクリプトを書きました。
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
var sheet = SpreadsheetApp.getActiveSheet();
var v = sheet.getRange('a:a').getValues();
for( var i=0; i<v.length; i++ ){
for( var j=0; j< v[i].length; j++ ){
v[i][j] = v[i][j].replace("東京都", "東京");("大阪府", "大阪");("京都府", "京都");("福岡県", "福岡")・・・・・・・・・
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
のようにひとつの命令文の中に複数入れられませんでしょうか?
自力でやった結果ダメでしたので、詳しい方にお聞きしたいです。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんにちは
書いてないのでわかりませんが、Apps Scriptでしょうか?
とは言っても、私はApps Scriptを知っているわけではないのですが…
現状(?)の
>v[i][j] = v[i][j].replace("東京都", "東京");
が動作しているのであれば、単純に繰り返して記述するのが確実でしょう。
v[i][j] = v[i][j].replace("東京都", "東京");
v[i][j] = v[i][j].replace("大阪府", "大阪");
v[i][j] = v[i][j].replace("京都府", "京都");
・・・・・・・
想像するところ、replaceメソッドを連続して記述しても、同様になるものと思います。
v[i][j] = v[i][j].replace("東京都", "東京").replace("大阪府", "大阪").replace("京都府", "京都")・・・
のような要領です。
…とは言え、対象の数が多くなるとこのような記法では面倒になってくると思われます。
交換データ群をあらかじめ配列等に収めておいて、その数だけループするような処理にしておくほうが一般的かもしれません。
例えば、
var exchangeData = [
["東京都", "東京"],
["大阪府", "大阪"],
["京都府", "京都"],
["福岡県", "福岡"],
・・・・・・・
];
としておいて、ループ部分では
var tmp = v[i][j];
for(var k=0, ed; ed=exchangeDate[k++];) tmp = tmp.replace(ed{[0], ed[1]);
v[i][j] = tmp;
のような感じでしょうか?
※ご質問内容には直接関係ありませんが、 置換の対象が都道府県名だけに限定されているのなら、必ずしも"東京都"と"東京"のように置換前、置換後の両方の語句を用意しておかなくてもよさそうに思います。
都道府県名(例:"東京都")だけあれば、そこから都、道、府、県を除けば良いだけなので・・・
そのように考えれば、
var exchangeData = ["東京都","大阪府","京都府","福岡県",・・・・];
のように単純にすることも可能になるでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript gasについて 1 2022/05/31 21:51
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- C言語・C++・C# C言語の質問です HTMLでこのようなコードを書いたのですがそれをC言語で同じように書きたいです < 1 2022/08/11 23:38
- JavaScript 台形公式 2 2022/12/21 18:38
- JavaScript 定積分の近似値を計算する関数composite_newton_cotesをつくりたい 1 2023/01/18 14:09
- オープンソース Coinmarketcap api 1 2022/05/30 15:47
- その他(プログラミング・Web制作) google formsを使ったタスク依頼フォーム作成におけるご相談 1 2023/06/22 15:55
- JavaScript ソースコードのいじる場所が分かりません。 1 2022/12/23 02:06
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スライドを最後の画像で止めたい
-
readyStateが4にならない原因
-
Selenium4でボタンをクリックで...
-
WebbrowserよりHTMLのValue値を...
-
jquery × php × mysql 非同期で...
-
メールを送信するボタンでOutlo...
-
パソコンで動くjavascriptがス...
-
★大至急!JavaScriptのif文教え...
-
同一ページ移動時ハンバーガー...
-
Jquery で on/offボタンの実装...
-
FullCalendar の複数月表示につ...
-
リンク元のURLのパラメータでペ...
-
JavaScriptでtabindexの変更っ...
-
VBAでIEのHTMLタグの要素を操作...
-
リンク付きの画像をクリックす...
-
jQueryのblockUIをformのボタン...
-
eval、$.eachで順番が入れ替わ...
-
一定時間ごとに表示内容を切り...
-
要素内を常に一番下を表示させたい
-
カンマ区切りのデータを配列に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
readyStateが4にならない原因
-
変数の内容を別functionに渡したい
-
【再質問】計算(入数*単価)...
-
tableのtr要素をドラッグ&ドロ...
-
Ajaxの結果のページングの方法
-
Ajaxでの、任意の件数でページ...
-
CSVファイルの文字列の表示につ...
-
Ajax.Requestで取得したHTMLソ...
-
スライドを最後の画像で止めたい
-
下記サイトのメニューをフラッ...
-
JavascriptからPHPへのAjax通信...
-
Javascriptを使ってQRコード読...
-
Selenium4でボタンをクリックで...
-
要素内を常に一番下を表示させたい
-
jQueryを使いformでsubmitした...
-
同一ページ移動時ハンバーガー...
-
階層別の組織図の自動作成について
-
JavaScriptでtabindexの変更っ...
-
Googleマップに複数のピンを立...
-
SQLのmaxで求めた値を変数に代...
おすすめ情報