gpt4 book ai didi

javascript - 通过脚本比较 google 表格中的 A 列。当匹配正确时,然后在两侧粘贴偏移值

转载 作者:行者123 更新时间:2023-12-02 22:17:10 27 4
gpt4 key购买 nike

我通过循环比较 Sheet 00 和 01 中的数据。我正在使用 VBA,这是我使用 JavaScript 的第一步。

https://docs.google.com/spreadsheets/d/176pTsstzHQ5FfhEvFJswQUidIGMGTi6jjkTavj2BQOQ/edit?usp=sharing

在输出中我有重复的数据。现在,我尝试在 logger.log 中找到一些需要理解的地方如果我理解,我需要在匹配到下一个迭代后跳过循环。我请求支持我做错了什么,以指导我走上正确的道路:)提前谢谢您。

比较 COL_A - 在某个工作簿的 2 张纸中查找唯一的。 Sheet00 是收集新数据与 Sheet 01 进行比较。问题是:匹配 find1、find2 后 - 我在输出中有重复的行。 find_is_value_is_exist_then_paste_in_both_side

function abc() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh_0=ss.getSheetByName("CA_SHEET_00")
var lastRow=sh_0.getLastRow()
var CA_Sheet_00= sh_0.getRange(2,1,lastRow-1,12).getValues();
Logger.log('LastRow 00_CA_SHEET'+' - row - '+lastRow);
var sh_1=ss.getSheetByName("AA_01")
var lastRow_01=sh_1.getLastRow()
var AA_01 = sh_1.getRange(2,1,lastRow_01-1,12).getValues();
Logger.log('lastRow_01 AA_01'+' - row - '+lastRow_01);
var aaa = [];
var bbb = [];
i=0;
j=0;
for (var i = 0; i < CA_Sheet_00.length; i++) {
for (var j = 0; j < AA_01.length; j++) {
if(CA_Sheet_00[i][0]===AA_01[j][0]){
Logger.log('00'+CA_Sheet_00[i][0]+' - CA_SHEET_00 - row '+[i]);
Logger.log('01'+AA_01[j][0]+' - AA_01 - row '+[j]);
aaa.push([CA_Sheet_00[i][11],CA_Sheet_00[3],AA_01[4],]);
bbb.push([CA_Sheet_00[j][3],]);
sh_0.getRange(2+i,13,aaa.length,3).setValues(aaa); // 00
sh_1.getRange(2+j,13,bbb.length,1).setValues(bbb); }} }}

通过Copper修改代码后,它将被这样定义。我只是将列中的输出分隔为单个 (13,14,15)

function abc() {
var ss=SpreadsheetApp.getActive();
var sh0=ss.getSheetByName("CA_SHEET_00");
var vA=sh0.getRange(2,1,sh0.getLastRow()-1,12).getValues();
var sh1=ss.getSheetByName("AA_01")
var vB=sh1.getRange(2,1,sh1.getLastRow()-1,12).getValues();
for(var i=0;i<vA.length;i++) {
for(var j=0;j<vB.length;j++) {
if(vA[i][0]==vB[j][0]){
sh0.getRange(2+i,13).setValue(Utilities.formatString('%s',vA[i][11]));
sh0.getRange(2+i,14).setValue(Utilities.formatString('%s',vA[i][3]));
sh0.getRange(2+i,15).setValue(Utilities.formatString('%s',vA[i][0]));
sh1.getRange(2+j,13).setValue(vA[i][3]);
}
}
}
}

最佳答案

我不明白你的问题是什么,但我认为这就是你试图用代码实现的目标。

function abc() {
var ss=SpreadsheetApp.getActive();
var sh0=ss.getSheetByName("CA_SHEET_00");
var vA=sh0.getRange(2,1,sh0.getLastRow()-1,12).getValues();
var sh1=ss.getSheetByName("AA_01")
var vB=sh1.getRange(2,1,sh1.getLastRow()-1,12).getValues();
for(var i=0;i<vA.length;i++) {
for(var j=0;j<vB.length;j++) {
if(vA[i][0]==vB[j][0]){
sh0.getRange(2+i,13).setValue(Utilities.formatString('%s,%s,%s',vA[i][11],vA[i][3],vB[i][4]));
sh1.getRange(2+j,13).setValue(vA[i][3]);
}
}
}
}

如果我完全没有捕获重点,我深表歉意;

关于javascript - 通过脚本比较 google 表格中的 A 列。当匹配正确时,然后在两侧粘贴偏移值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59350300/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com