我已經對此進行了廣泛的搜索,但它們似乎都不起作用。他們都只是給我一張白紙。

所以它會像:IF(DATA!A1:A包含文本“250p”然后運行函式EXTRACT)。
這是我現在擁有的代碼:
//this extract works fine but I just need this to work for only those with value 250 in Col A//
function EXTRACT() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('A1').setFormula('=EXTRACTDATA(DATA!A1:A)');
}
function IF250() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName('DATA');
var range = sheet.getRange('DATA!A1:A');
var values = range.getValues();
if (values[i] == "250g") {
EXTRACT();
更好的是,如果我可以將資料集放在兩張單獨的表格中。一張紙上有 250 個,一張紙上有 500 個。但這不是必需的。
uj5u.com熱心網友回復:
查看您的作業表后,這是一個可能的解決方案
Code.gs
const sS = SpreadsheetApp.getActiveSpreadsheet()
function grabData() {
const sheetIn = sS.getSheetByName('data')
const sheetOut = sS.getSheetByName('Desired Outcome')
const range = 'A2:B'
/* Grab all the data from columns A and B and filter it */
const values = sheetIn.getRange(range).getValues().filter(n => n[0])
/* Retrieve only the names if it containes 250p */
/* In format [[a], [b], ...] */
const parsedValues = values.map((arr) => {
const [type, name] = arr
if (type.toLowerCase().includes('250p')) {
return name.split('\n')
}
})
.filter(n => n)
.flat()
.map(n => [n])
/* Add the values to the Desired Outcome Sheet */
sheetOut
.getRange(sheetOut.getLastRow() 1, 1, parsedValues.length)
.setValues(parsedValues)
}
uj5u.com熱心網友回復:
嘗試改變:
var values = range.getValues();
至
var values = range.getDisplayValues()
因為這將讀取顯示的值。嘗試同時記錄值以查看原因!(空白的)
您當前也沒有迭代或回圈您的值。
如果您只是想查看列是否包含包含 value 的單元格250p,請嘗試:
function IF250() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(`DATA`)
const valueExists = sheet.getRange(`A1:A`)
.getDisplayValues()
.filter(String)
.some(row => row.includes(`250P`))
if (valueExists) EXTRACT()
}
評論:
function IF250() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(`DATA`)
const valueExists = sheet.getRange(`A1:A`)
.getDisplayValues()
// Remove empty cells (not strictly necessary)
.filter(String)
// If the values include a row containing `250p` return true.
.some(row => row.includes(`250P`))
// If valueExists returns true:
if (valueExists) EXTRACT()
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/487567.html
標籤:if 语句 谷歌应用脚本 谷歌表格 脚本 数据提取
下一篇:文本框文本只檢查一次
