teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

7

タグ付け

2021/10/07 03:01

投稿

0000a
0000a

スコア18

title CHANGED
File without changes
body CHANGED
File without changes

6

コード表記欄

2021/10/07 03:01

投稿

0000a
0000a

スコア18

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,5 @@
1
+ ```ここに言語を入力
1
- function myFunctionXX() {
2
+ ```function myFunctionXX() {
2
3
 
3
4
  var ss = SpreadsheetApp.getActiveSpreadsheet();
4
5
  var sheet = ss.getSheetByName("展開");
@@ -22,6 +23,9 @@
22
23
 
23
24
  }}
24
25
 
26
+ ```
27
+
28
+
25
29
  こちらで、展開シートの(1,4)セルを起点として展開されると思いますが、この結果の数字だけを取得する方法をお教えいただけますでしょうか?
26
30
  (現状ではD列に数式がうまっているから展開されておりますが、その表を適宜修正して利用したいため)
27
31
  また、現状ですとA5を起点にした計算結果のみが反映されるのですが、for構文を適用した場合のように、iに応じた結果を入手するにはどう変えればよろしいでしょうか?

5

タイトル

2021/10/07 01:20

投稿

0000a
0000a

スコア18

title CHANGED
@@ -1,1 +1,1 @@
1
- QUERYの展開結果だけを取得する方法
1
+ 数式をfor構文に組み込み、QUERYの展開結果だけを取得する方法
body CHANGED
File without changes

4

内容を詳細に

2021/10/06 12:06

投稿

0000a
0000a

スコア18

title CHANGED
File without changes
body CHANGED
@@ -1,8 +1,29 @@
1
- function 無題() {
1
+ function myFunctionXX() {
2
- var ss = SpreadsheetApp.getActiveSpreadsheet();
3
- var sheet = ss.getSheetByName("A");
4
- sheet.getRange(2, 1).setValue(`=query('B'!A5:D)`);}
5
2
 
6
- こちらでBシートについて,Query関数'B'!A5:Dの結果が、AシートA2セルを起点として展開されると思いますが、この結果の数字だけを取得する方法をお教えいただけますでしょうか?
7
- (現状ではA2セルに数式がうまっているから展開されておりますが、その表を適宜修正して利用したいため)
3
+ var ss = SpreadsheetApp.getActiveSpreadsheet();
4
+ var sheet = ss.getSheetByName("展開");
5
+
6
+ const lastRow = sheet.getLastRow();
7
+ for(let i = 2; i <= lastRow; i++) {
8
+ console.log(sheet.getRange(i, 1).getValue());
9
+
10
+ sheet.getRange(i, 4).setValue(`=
11
+ IF(isblank(A5),"",
12
+ IF(not(iferror(match(A5,$A$2:A4,0))),1,
13
+ IF(A5=A4,D4,
14
+ IF(countblank(indirect("A"&Query(transpose(ARRAYFORMULA(QUERY({$A$2:A4,row($A$2:A4)},"select max(Col2) where Col1=date '"& TEXT(A5,"YYYY-MM-DD")&"'"))),"select Col2")&":"&address(row(A5),column(A5),4)))=0,value(INDIRECT("D"&Arrayformula(Query(transpose(QUERY({$A$2:A4,row($A$2:A4)},"select max(Col2) where Col1=date '"& TEXT(A5,"YYYY-MM-DD")&"'")),"select Col2")))),value(INDIRECT("D"&Arrayformula(Query(transpose(QUERY({$A$2:A4,row($A$2:A4)},"select max(Col2) where Col1=date '"& TEXT(A5,"YYYY-MM-DD")&"'")),"select Col2"))))+1))))
15
+ +iferror(
16
+ IF(isblank(A5),"",Query(transpose(Query({
17
+ indirect("'日記帳'!A1:A"&MAX(MATCH(MAX('日記帳'!A:A)+1,'日記帳'!A:A,1),MATCH("",'日記帳'!A:A,-1))),
18
+ QUERY({"No";arrayformula(value(Query(split(
19
+ indirect("'日記帳'!C1:C"&MAX(MATCH(MAX('日記帳'!A:A)+1,'日記帳'!A:A,1),MATCH("",'日記帳'!A:A,-1)))
20
+ ,"."),"select Col3")))})},"select max(Col2) where Col1=date '"& TEXT(A5,"YYYY-MM-DD")&"'")),"select Col2")),1)`);
21
+
22
+
23
+ }}
24
+
25
+ こちらで、展開シートの(1,4)セルを起点として展開されると思いますが、この結果の数字だけを取得する方法をお教えいただけますでしょうか?
26
+ (現状ではD列に数式がうまっているから展開されておりますが、その表を適宜修正して利用したいため)
27
+ また、現状ですとA5を起点にした計算結果のみが反映されるのですが、for構文を適用した場合のように、iに応じた結果を入手するにはどう変えればよろしいでしょうか?
28
+
8
29
  どなたかどうぞよろしくお願い致します

3

タグの追加

2021/10/06 11:09

投稿

0000a
0000a

スコア18

title CHANGED
File without changes
body CHANGED
@@ -5,4 +5,4 @@
5
5
 
6
6
  こちらでBシートについて,Query関数'B'!A5:Dの結果が、AシートA2セルを起点として展開されると思いますが、この結果の数字だけを取得する方法をお教えいただけますでしょうか?
7
7
  (現状ではA2セルに数式がうまっているから展開されておりますが、その表を適宜修正して利用したいため)
8
- 色々調べてはいるのですが、、解決策が見当たらず、、どなたかどうぞよろしくお願い致します
8
+ どなたかどうぞよろしくお願い致します

2

書式

2021/10/06 11:01

投稿

0000a
0000a

スコア18

title CHANGED
File without changes
body CHANGED
@@ -3,5 +3,6 @@
3
3
  var sheet = ss.getSheetByName("A");
4
4
  sheet.getRange(2, 1).setValue(`=query('B'!A5:D)`);}
5
5
 
6
- こちらでBシートについてQuery関数'B'!A5:Dの結果が、AシートA2セルを起点として展開されると思いますが、この結果の数字だけを取得する方法をお教えいただけますでしょうか?
6
+ こちらでBシートについて,Query関数'B'!A5:Dの結果が、AシートA2セルを起点として展開されると思いますが、この結果の数字だけを取得する方法をお教えいただけますでしょうか?
7
- (現状ではA2セルに数式がうまっているから展開されておりますが、その表を適宜修正して利用したいため)どうぞよろしくお願い致します
7
+ (現状ではA2セルに数式がうまっているから展開されておりますが、その表を適宜修正して利用したいため)
8
+ 色々調べてはいるのですが、、解決策が見当たらず、、どなたかどうぞよろしくお願い致します

1

誤字

2021/10/05 14:46

投稿

0000a
0000a

スコア18

title CHANGED
File without changes
body CHANGED
@@ -3,4 +3,5 @@
3
3
  var sheet = ss.getSheetByName("A");
4
4
  sheet.getRange(2, 1).setValue(`=query('B'!A5:D)`);}
5
5
 
6
- こちらでBシートについてQuery関数'B'!A5:Dの結果が、AシートA2セルを起点として展開されると思いますが、この結果の数字だけを取得する方法をお教えいただけますでしょうか?(現状ではA2セルに数式がうまっているから展開されておりますが、その表を適宜修正して利用したいため)どうぞよろしくお願い致します
6
+ こちらでBシートについてQuery関数'B'!A5:Dの結果が、AシートA2セルを起点として展開されると思いますが、この結果の数字だけを取得する方法をお教えいただけますでしょうか?
7
+ (現状ではA2セルに数式がうまっているから展開されておりますが、その表を適宜修正して利用したいため)どうぞよろしくお願い致します