```function myFunctionXX() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheetByName("展開"); const lastRow = sheet.getLastRow(); for(let i = 2; i <= lastRow; i++) { console.log(sheet.getRange(i, 1).getValue()); sheet.getRange(i, 4).setValue(`= IF(isblank(A5),"", IF(not(iferror(match(A5,$A$2:A4,0))),1, IF(A5=A4,D4, 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)))) +iferror( IF(isblank(A5),"",Query(transpose(Query({ indirect("'日記帳'!A1:A"&MAX(MATCH(MAX('日記帳'!A:A)+1,'日記帳'!A:A,1),MATCH("",'日記帳'!A:A,-1))), QUERY({"No";arrayformula(value(Query(split( indirect("'日記帳'!C1:C"&MAX(MATCH(MAX('日記帳'!A:A)+1,'日記帳'!A:A,1),MATCH("",'日記帳'!A:A,-1))) ,"."),"select Col3")))})},"select max(Col2) where Col1=date '"& TEXT(A5,"YYYY-MM-DD")&"'")),"select Col2")),1)`); }}
こちらで、展開シートの(1,4)セルを起点として展開されると思いますが、この結果の数字だけを取得する方法をお教えいただけますでしょうか?
(現状ではD列に数式がうまっているから展開されておりますが、その表を適宜修正して利用したいため)
また、現状ですとA5を起点にした計算結果のみが反映されるのですが、for構文を適用した場合のように、iに応じた結果を入手するにはどう変えればよろしいでしょうか?
どなたかどうぞよろしくお願い致します
=query('B'!A5:D) なら、特に抽出に際して条件等がないので単純に getValuesとsetVlauesの記述に変えてしまえば良いんじゃないでしょうか?
ご返信ありがとうございます。実際はもっと複雑な数式が入っております。。
コード初心者のため具体的にどう書き換えれば良いのかまで、お教えいただけますでしょうか?
お手数ですが、ご教示のほどよろしくお願い致します。
なるほど。とりあえずアドバイスとしては、まずは正確で具体的なな情報を提示した質問をしましょう。あと、Gooogle Apps Scriptのタグつけましょう。
回答しても、いや実はリアルは違うんですってなると二度手間です。あと、追加の質問をやめましょう。掲載された質問が解決したら、まずはご自身で理解し、その質問を解決済みとしてクローズ。その後エラーが出たら、まずは自分で検索、検証、試行錯誤した上で、どうしても解決できない際に別質問を。
余計なお世話かもしれませんが、過去の質問で上記が満たされてないのを繰り返してると、回答しても面倒なんで回答がつかなくなる傾向があります。(そもそもgas はまだまだvbaやjsに比べればニッチなんで回答してくれる人も少ないですし)
お金もらって仕事として対応してるなら別ですが、ぶっちゃけ回答者なんてのは暇つぶしか、自分のスキルアップのためか、承認欲求を満たすためか、あわよくばマネタイズ狙いって感じの人達ですから。
内容を改めました、恐れ入ります、質問についてご不明点がございましたらお問い合わせください。どうぞよろしくお願い致します。
Google APIじゃなくて Gooogle Apps Script です。
あとコードは 他の質問者と同じように コードボタン押して記入をしましょう。
> あわよくばマネタイズ
ばれてた。全然もうける方法がわからない…
回答1件
あなたの回答
tips
プレビュー