これでどうでしょうか
JavaScript
1function ChangeKeyWordColor() {
2
3 // 列の指定 1→A列、2→B列、3→C列・・・
4 var col = 3;
5
6 // 色の指定
7 var color = '#ff0000';
8
9 // キーワードの指定
10 var keywords = ['あいうえお', 'かきくけこ', 'さしすせそ'];
11
12 var sheet = SpreadsheetApp.getActiveSheet();
13 var last_row = sheet.getLastRow();
14 var row = 1;
15 var values = sheet.getRange(row, col, last_row).getValues();
16
17 for (var i = 0; i < last_row; i++) {
18
19 var cell_value = values[i];
20 var reg_test = new RegExp(keywords.join("|"));
21
22 // セルの値の中にキーワードが無ければ、スキップして次のセルへ
23 if (reg_test.test(cell_value) === false) {
24 continue;
25 }
26
27 // リッチテキストを作成して、セルのテキストを設定
28 var rich_text = SpreadsheetApp.newRichTextValue().setText(cell_value);
29
30 keywords.forEach(function (value) {
31
32 var regexp = new RegExp(value, "g");
33 var result;
34
35 // キーワードの開始位置をグローバル検索
36 while (result = regexp.exec(cell_value)) {
37
38 var start_pos = result.index;
39 var end_pos = start_pos + value.length
40
41 // テキストスタイルを設定
42 rich_text = rich_text.setTextStyle(
43 // 開始位置、終了位置、色
44 start_pos, end_pos, SpreadsheetApp.newTextStyle().setForegroundColor(color).build()
45 );
46 }
47 });
48 // キーワードに色がついたテキストをセルに設定
49 sheet.getRange((i + 1), col).setRichTextValue(rich_text.build());
50 }
51}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/13 10:36
2019/02/13 10:52