您將需要此鏈接來解決此問題: - https://docs.google.com/spreadsheets/d/11PjVSWPfqOBPSej3AlQ-_T8Bws66kevR08Q2NRTmVcE/edit?usp=sharing
所以這是一個棘手的問題。我希望遍歷 Sheet1 A 列中的名稱,并遍歷 C 列中的型別。然后,如果 Sheet1 中的 A 列與 Sheet2 中 A 列的名稱匹配,并且型別是“拾取”,我想記錄表 2 中 C 列內表 1 中的其他資訊。記錄表 2 中相同名稱旁邊的“州”、“位置”、“城市”等內容。我希望這是有道理的。
我知道我可能需要在回圈中使用回圈來完成所有這些操作,但這是我所能得到的,因為我無法弄清楚如何撰寫回圈然后記錄兩個名稱匹配的行。
function myFunction() {
function pullDeliveryNotes()
{
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
var sheet2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet2");
var dataRange = sheet.getDataRange();
var dataRange2 = sheet2.getDataRange();
var rng = sheet.getRange(2,1, dataRange.getLastRow()-1,dataRange.getLastColumn());
var rng2 = sheet.getRange(2,3, dataRange.getLastRow()-1,dataRange.getLastColumn());
var rng3 = sheet2.getRange(2,1, dataRange2.getLastRow()-1,dataRange2.getLastColumn());
var rngA = rng.getValues().toString()
var rngB = rng2.getValues().toString()
var rngC = rng3.getValues().toString()
for(var i = 0; i < rng.length; i ) {
for (var x = 0; x < rng2.length; x ) {
for (var y = 0; y < rng3.length; y ) {
if (rng[i][x][y].includes(rng3[i][x][y]) && rng2[i][x][y] === "pickUp") {
Logger.log("We got it")
}
}
}
}
}
}
uj5u.com熱心網友回復:
根據您的問題陳述。
試試這個示例腳本: -
function checkValues() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const ssSource = ss.getSheetByName('Sheet1')
const ssTarget = ss.getSheetByName('Sheet2')
const sourceRange = ssSource.getDataRange().getValues().filter(r=> r[2] === 'Pickup'); // Filtering only pickup values
const targetRange = ssTarget.getDataRange().getValues();
for(var i = 0 ; i < sourceRange.length ; i )
{
for(var j = 1 ; j < targetRange.length ; j )
{
if(sourceRange[i][0] === targetRange[j][0]) // if name matches
{
ssTarget.getRange(`C${j 1}`).setValue(`${sourceRange[i][3]},${sourceRange[i][4]},${sourceRange[i][5]}`) // set values in column C
}
}
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/441630.html
上一篇:如何從單元格中獲取鏈接文本并在其他單元格中設定文本并使用GoogleApps腳本附加鏈接?
下一篇:賽普拉斯測驗-期望日期格式
