質問編集履歴

3

コード追加

2021/09/02 05:44

投稿

antiwebhook
antiwebhook

スコア7

test CHANGED
@@ -1 +1 @@
1
- GASでセルの値を他シートの列と部分一致で比較し、対応する列の値を取得したい
1
+ -ドtGASでセルの値を他シートの列と部分一致で比較し、対応する列の値を取得したい
test CHANGED
@@ -73,3 +73,95 @@
73
73
  }
74
74
 
75
75
  ```
76
+
77
+
78
+
79
+ 配列を使うやり方がわからなかったので、関数を分けて以下のようにしてみましたが結局解決できませんでした。
80
+
81
+ ```GAS
82
+
83
+  var IDsheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("IDだよ");
84
+
85
+ var range = IDsheet.getRange('A2:C42');
86
+
87
+ //苗字とIDが載っているシートと範囲
88
+
89
+ var data = range.getValues();
90
+
91
+ var kakikomisaki = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("名前");
92
+
93
+ //検索対象の本文とIDを書き込む先のシート
94
+
95
+
96
+
97
+ var lastRow2 = kakikomisaki.getDataRange().getLastRow();
98
+
99
+ var num;
100
+
101
+
102
+
103
+
104
+
105
+ function myFunction() {
106
+
107
+
108
+
109
+ for (var k = 1; k <lastRow2; k++)
110
+
111
+ {
112
+
113
+ var getText = kakikomisaki.getRange(k,3).getValues();
114
+
115
+
116
+
117
+ ind(getText);
118
+
119
+
120
+
121
+
122
+
123
+ slackid = IDsheet.getRange(num,3).getValues();
124
+
125
+ kakikomisaki.getRange(k,4).setValue(slackid);
126
+
127
+ }
128
+
129
+
130
+
131
+
132
+
133
+ }
134
+
135
+
136
+
137
+ function ind(getText)
138
+
139
+ {
140
+
141
+ for (var k = 1; k<=data.length; k++)
142
+
143
+ {
144
+
145
+ var idd = IDsheet.getRange(k,2).getValues();
146
+
147
+
148
+
149
+ var result = getText.indexOf(k,2);
150
+
151
+
152
+
153
+ if (result != -1)
154
+
155
+ {
156
+
157
+ k = num;
158
+
159
+ return num;
160
+
161
+ }
162
+
163
+ }
164
+
165
+ }
166
+
167
+ ```

2

文章修正

2021/09/02 05:44

投稿

antiwebhook
antiwebhook

スコア7

test CHANGED
File without changes
test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  シート1のA列の文章内に、シート2のA列の苗字があれば合致するIDをシート1のB列に表示させたいです。
10
10
 
11
-
11
+ いわば、VLOOKUP関数のようなことをしたいです。
12
12
 
13
13
 
14
14
 
@@ -16,7 +16,7 @@
16
16
 
17
17
  ・問題点
18
18
 
19
- 最初は関数で行おうとしたのですが、検索対象の文章はSlackなど外部ツールから自動で書き込まれる作りにしてあるため関数が効かない状態です。
19
+ 最初は関数で行おうとしたのですが、検索対象の文章はSlackなど外部ツールから自動で書き込まれる作りにしてあるため関数が効かない状態です。(調べたところ関数を効かせるのは無理のようです)
20
20
 
21
21
 
22
22
 
@@ -24,7 +24,7 @@
24
24
 
25
25
  色々似たようなことをしようとしているサイトを調べたがよく理解できず。
26
26
 
27
- 部分一致関する似た質問が見つからなかった。indexofで部分一致は可能か?
27
+ やりたいことに似た質問が見つからなかった。
28
28
 
29
29
  配列を使うものと配列を使わないものの情報があり混乱してしまった。
30
30
 
@@ -33,6 +33,8 @@
33
33
  コードは思いついたところまでなので、未完成なものなのですが
34
34
 
35
35
  ご教授よろしくお願いいたします。
36
+
37
+
36
38
 
37
39
 
38
40
 

1

追記

2021/09/02 05:10

投稿

antiwebhook
antiwebhook

スコア7

test CHANGED
File without changes
test CHANGED
@@ -29,6 +29,8 @@
29
29
  配列を使うものと配列を使わないものの情報があり混乱してしまった。
30
30
 
31
31
 
32
+
33
+ コードは思いついたところまでなので、未完成なものなのですが
32
34
 
33
35
  ご教授よろしくお願いいたします。
34
36