回答編集履歴

1

いただいたコードと指摘部分の修正

2022/06/19 09:41

投稿

k.a_teratail
k.a_teratail

スコア845

test CHANGED
@@ -11,23 +11,36 @@
11
11
  どのようなコードを書いているか不明なので
12
12
  ネット検索し、実現できそうな記事を書いておきます。
13
13
 
14
- それと、参考のコードも記載しておきます。
14
+ ~~それと、参考のコードも記載しておきます。~~
15
15
 
16
16
  ```gs
17
- function myFunction() {
17
+ function getKeyword() {
18
+ var ss = SpreadsheetApp.getActiveSpreadsheet(); //このスプレッドシート
19
+ var skSheet = ss.getSheetByName("main"); //使用するシート
20
+ var skEndRow = skSheet.getDataRange().getLastRow(); //シートの使用範囲のうち最終行を取得
18
21
 
19
- let a1Cell = "カナダ アメリカ 中国"
22
+ for (var i = 2; i <= skEndRow; i++) {
23
+ var strkeyword = skSheet.getRange(i, 1).getValue(); // 調べたいキーワード
20
- let a2Cell = "アメリカとドイツは友好国だ"
24
+ var strsubject = skSheet.getRange(i, 2).getValue(); // 調べる対象の文章
21
25
 
26
+ // こちらは削除
22
- let a3Cell = a1Cell.split(" ").map((e) => {
27
+ // let missing = strkeyword.split(",").map((e) => {
23
- if (a2Cell.match(e) == null) return e
28
+ // if (strsubject.match(e) === null) return e
24
- })
29
+ // })
25
30
 
31
+ // 調べる対象に含まれていないキーワードの配列
32
+ let missing = strkeyword.split(",").filter((e) => {
33
+ if (strsubject.match(e) == null) return e
34
+ })
35
+
36
+ console.log(missing)
37
+
26
- console.log(a3Cell.join(" "))
38
+ skSheet.getRange(i, 3).setValue(missing.join(","));
39
+ }
27
40
  }
28
41
  ```
29
42
 
30
43
  ```consoleログ
31
- カナダ 中国
44
+ [ 'カナダ', '中国' ]
32
45
  ```
33
46