GASで特定の列の文字を置換したいですがうまくいきません

1,884 views
Skip to first unread message

良平

unread,
Aug 3, 2020, 7:17:08 AM8/3/20
to Google Apps API Japan
お世話になっております。

特定の列の文字を置換したいのですが、うまくいきません。
具体的に申しますと、
Kの列の「冊」という文字をすべて空白(削除)に置換したいのですが、
今の書き方だと全部の範囲で消えてしまします。
どう書けばいいか教えていただきますと幸いです。

また、冊だけではなく別の列の漢字も書き換えないといけないため、
よろしければ、複数に対応できる書き方だと尚助かります。

お手数ですが、何卒よろしくお願い致します。

function myFunction() {

// シートを取得する
var spreadsheet2 = SpreadsheetApp.openById("〇〇〇〇");

// シートの名前を取得
var sheet2 = spreadsheet2.getSheetByName("お得券");

// 冊をサーチ
var textFinder2 = sheet2.createTextFinder('冊');

// 冊を空白にする
textFinder2.replaceAllWith("");  

};



Tanaike

unread,
Aug 4, 2020, 2:11:45 AM8/4/20
to Google Apps API Japan
  • K列にあるの文字で「冊」あるいはその他の文字を削除する。
  • 例えば「さんぷる冊さんぷる」セルにあれば、「さんぷるさんぷる」にしたい。
  • TextFinderを使いたい。

目標を上記のように理解しました。この場合、TextFinderで正規表現を使って検索すると良いかもしれません。ご使用中のスクリプトを修正すると下記のようになります。

function myFunction() {

  var spreadsheet2 = SpreadsheetApp.openById("〇〇〇〇");
  var sheet2 = spreadsheet2.getSheetByName("お得券");
  sheet2
    .getRange("K1:K" + sheet2.getLastRow())  // K列を選択
    .createTextFinder('冊|さんぷる')  // 複数の文字を検索
    .useRegularExpression(true)  // 正規表現を使用
    .replaceAllWith("");  // 置換
}  

  • '冊|さんぷる' では、「冊」あるいは「さんぷる」の文字を検索します。

参考



2020年8月3日月曜日 20:17:08 UTC+9 良平:

良平

unread,
Aug 4, 2020, 2:40:51 AM8/4/20
to Google Apps API Japan
ご返信ありがとうございます!

実装できました!!
本当にありがとうございます!

助かりました!!!

2020年8月4日火曜日 15:11:45 UTC+9 Tanaike:
Reply all
Reply to author
Forward
0 new messages