[英]How do i copy the whole row if the value in a particular column is as required?
[英]How do I only search for a specific column but still show the whole row as array?
我目前有一個有效的搜索 function,但我想將其更改為僅搜索特定列作為基礎,但仍顯示搜索匹配的整行數據。 我相信我必須將.forEach 更改為某些內容,但我不確定如何更改。 我嘗試更改數據范圍,但如果我確實更改了它,它會影響正在顯示的整行數據。 因為我希望 E 列成為要搜索的列。
var spreadsheetId = "";
var dataRange = 'sheetName!A2:M';
var data = Sheets.Spreadsheets.Values.get(spreadsheetId, dataRange).values;
var arr = [];
const validateText = (query) => {
let regex = new RegExp(currentUser, 'i')
return regex.test(query)
}
data.forEach(d => {
if (validateText(d)) {
arr.push(d);
}
})
我相信你的目標如下。
當你的腳本被修改時,下面的修改怎么樣?
var column = 5; // Search column. 5 is column "E".
var currentUser = "###"; // Please set your expected value.
var spreadsheetId = "###"; // // Please set your spreadsheet ID.
var sheetName = 'Sheet1'; // Please set your sheet name.
var [, ...data] = Sheets.Spreadsheets.Values.get(spreadsheetId, sheetName).values;
var arr = [];
const validateText = (query) => {
let regex = new RegExp(currentUser, 'i')
return regex.test(query)
}
data.forEach(d => {
if (validateText(d[column - 1])) {
arr.push(d);
}
});
console.log(arr)
作為另一種方法,以下修改如何?
var column = 5; // Search column. 5 is column "E".
var currentUser = "###"; // Please set your expected value.
var spreadsheetId = "###"; // // Please set your spreadsheet ID.
var sheetName = 'Sheet1'; // Please set your sheet name.
var sheet = SpreadsheetApp.openById(spreadsheetId).getSheetByName(sheetName);
var values = sheet.getRange(2, 1, sheet.getLastRow() - 1, sheet.getLastColumn()).getValues();
var res = values.filter(r => new RegExp(currentUser, 'i').test(r[column - 1]));
console.log(res)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.