iT邦幫忙

0

如何用APPS SCRIPT 寫查詢指定格並輸入資料(試算表用)

  • 分享至 

  • xImage

https://ithelp.ithome.com.tw/upload/images/20210708/20139301FK6vtVItAd.png
請問該如何撰寫Apps Script
輸入以上三個資料找到下方相對應儲存格,填入獎金

https://ithelp.ithome.com.tw/upload/images/20210708/20139301fY5x44Yr2E.png
可以直接在同一個試算表操作即可

Han iT邦研究生 1 級 ‧ 2021-07-09 16:05:24 檢舉
上面那個填寫頁面,是想做成網頁嗎?不讓使用者透過google sheet輸入沒錯吧?
jimmy9868 iT邦新手 5 級 ‧ 2021-07-10 23:44:05 檢舉
都是可以的,主要是資料太多,每天輸入獎金要CtrlF找,眼睛很痛XD
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
Han
iT邦研究生 1 級 ‧ 2021-07-12 16:51:58
最佳解答

我會建議你看這篇練習 傳送門

了解後可以知道,發佈好後直接講網址貼在瀏覽器上,會走進doGet這個function裏面
可以寫一個前端頁面,簡單的即可

<form method="POST">
    帳號<input name="account" value="" />
    日期<input name="date" value="" />
    金額<input name="total" value="" />
    <button type="submit">送出</button>
</form>

再寫一個doPost將收到的值,使用Google App Script做查詢
可以用到的function是

  • getActiveSpreadsheet 先取得目前在用的表單
  • getSheetByName 再取得工作表
  • getRange 取得你要搜尋的範圍,參考

再使用 foreach 去搜尋前端送過來的資料,即可得到你要的結果,此時可以選擇將其回應至前端

jimmy9868 iT邦新手 5 級 ‧ 2021-07-12 16:56:07 檢舉

了解 感謝您 我研究一下

Han iT邦研究生 1 級 ‧ 2021-07-12 20:38:09 檢舉

有問題再繼續留言即可

jimmy9868 iT邦新手 5 級 ‧ 2021-07-20 16:41:40 檢舉

function doPost(e) {

var params = e.parameter;
var type = params.type;
var account = params.order_account;
var date = params.order_date;
var money = params.order_money;

var SpreadsheetAppId = ("1***U");
var getSheetByName =("7月登記表");

if(type == "select"){
var SpreadSheet = SpreadsheetApp.openById(SpreadsheetAppId);
var Sheet = SpreadSheet.getSheetByName(getSheetByName);
var LastRow = Sheet.getLastRow();
var data = [];
for(i=0; i<LastRow; i++){
if(data[i][0]==account);
row=i
}
for(i=0; i<Lastcolumn; i++){
if(data[i][0]==date);
column=i
}
Sheet.getRange(row,column).setValue(money);
return ContentService.createTextOutput(JSON.stringify(output))
.setMimeType(ContentService.MimeType.JSON);

不知道這樣行不行,FOR那邊不會寫,本身不是學計算機的XD

我要發表回答

立即登入回答