我有一个脚本运行,它使用IMPORTDATA从一个网站捕获数据。每一小时,它都会进入网站,获取一个价格值,并将其保存在一个单元格中。所以我的每个dat都有24个细胞排在一起,被填充。
我的问题是每一个小时,每一个细胞都在更新。
假设它在晚上11点运行,结果是5500。发生的情况是,以前填充的每个单元格都更改为5500个。
据我所知,IMPORTDATA似乎每小时都与websit同步。这不是我想要的.我想这样做,这样一旦数据被导入使用imported数据,链接就会中断,数据就不会改变。
有人知道我如何修改我的代码来实现这一点吗?
谢谢你们。
function pricesearchsheet2() {
var date = new Date();
var currenthour = date.getHours();
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
var targetcell = 1
// set the target cell based on the current hour of the day
if (currenthour == 0) {
var targetcell = "B6";
}
if (currenthour == 1) {
var targetcell = "C6";
}
if (currenthour == 2) {
var targetcell = "D6";
}
if (currenthour == 3) {
var targetcell = "E6";
}
if (currenthour == 4) {
var targetcell = "F6";
}
if (currenthour == 5) {
var targetcell = "G6";
}
if (currenthour == 6) {
var targetcell = "H6";
}
if (currenthour == 7) {
var targetcell = "I6";
}
if (currenthour == 8) {
var targetcell = "J6";
}
if (currenthour == 9) {
var targetcell = "K6";
}
if (currenthour == 10) {
var targetcell = "L6";
}
if (currenthour == 11) {
var targetcell = "M6";
}
if (currenthour == 12) {
var targetcell = "N6";
}
if (currenthour == 13) {
var targetcell = "O6";
}
if (currenthour == 14) {
var targetcell = "P6";
}
if (currenthour == 15) {
var targetcell = "Q6";
}
if (currenthour == 16) {
var targetcell = "R6";
}
if (currenthour == 17) {
var targetcell = "S6";
}
if (currenthour == 18) {
var targetcell = "T6";
}
if (currenthour == 19) {
var targetcell = "U6";
}
if (currenthour == 20) {
var targetcell = "V6";
}
if (currenthour == 21) {
var targetcell = "W6";
}
if (currenthour == 22) {
var targetcell = "X6";
}
if (currenthour == 23) {
var targetcell = "Y6";
}
if (currenthour == 24) {
var targetcell = "Z6";
}
for (var sheet of sheets) {
sheet.getRange(targetcell)
.setValue('=--SPLIT(REGEXEXTRACT(JOIN(",",IMPORTDATA(B1)),"LCPrice"":""(.*)"), CHAR(34))')
}
}发布于 2021-10-09 07:42:07
我相信你的目标如下。
在这种情况下,使用copyTo作为值复制值而不使用公式如何?当您的脚本运行时,如下所示。
修改脚本:
作为另一个修改点,我认为当我看到您的if语句时,它可能会被转换成一个数组。还有,我思考过这个问题。
function pricesearchsheet2() {
var date = new Date();
var currenthour = date.getHours();
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
var ar = ["B6", "C6", "D6", "E6", "F6", "G6", "H6", "I6", "J6", "K6", "L6", "M6", "N6", "O6", "P6", "Q6", "R6", "S6", "T6", "U6", "V6", "W6", "X6", "Y6", "Z6"];
var targetcell = ar[currenthour];
for (var sheet of sheets) {
sheet.getRange(targetcell).setValue('=--SPLIT(REGEXEXTRACT(JOIN(",",IMPORTDATA(B1)),"LCPrice"":""(.*)"), CHAR(34))');
SpreadsheetApp.flush();
var range = sheet.getDataRange();
range.copyTo(range, { contentsOnly: true });
}
}参考文献:
发布于 2022-04-17 15:05:57
尝试使用Coupler.io。它允许将数据从一个电子表格复制到另一个电子表格(或从一个工作表复制到另一个电子表格)。就你而言,你需要:
https://stackoverflow.com/questions/69504486
复制相似问题