gpt4 book ai didi

google-apps-script - 使用 Google Apps 脚本仅从 Google 电子表格中选择特定列中的值或公式不为空的行

转载 作者:行者123 更新时间:2023-12-04 06:29:49 25 4
gpt4 key购买 nike

我有一个谷歌电子表格,我在尝试计算选择多行所需的代码时遇到了真正的困难。

我要选择的唯一行是在其中一列(比方说 B 列)中具有值或公式的行。

不能 按列对工作表进行排序,并仅选择前 x 值。

我想我需要遍历工作表中的每一行并确定 B 列是否为空,但我不知道如何执行此操作或如何检查单元格是否包含值或公式。如果它包含一个公式,那么它必须优先于值被保留。

如何使用 Google Apps 脚本仅从 Google 电子表格中选择特定列中的值或公式不为空的行?

最佳答案

这应该做你想做的......也许它需要一些调试,因为我没有测试它,因为我不确定你真正想要什么;-)

function copynotempty(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = SpreadsheetApp.setActiveSheet(ss.getSheets()[0])
var col = 1 ; // choose the column you want to check: 0 = col A, 1= col B ...
var range = sh.getDataRange();
var values=range.getValues();// data is a 2D array, index0 = col A
var formulas=range.getFormulas();// data is a 2D array, index0 = col A
var target=new Array();// this is a new array to collect data
for(n=0;n<range.getHeight();++n){
if (values[n][col]!=''|| formulas[n][col]!=''){ ;
for (cc=0;cc<range.getWidth();++cc){
if (formulas[n][cc]!=''){target[n][cc]=formulas[n][cc]}else{target[n][cc]=values[n][cc]}
// if the cell has a formula copy it or else copy the value, do that for the whole row
// (this also defines and apply the 'priority' you mentioned in your question, I wasn't sure if it should apply to the whole row or only on column B)
}
}
}
if(target.length>0){// if there is something to copy
var sh2=SpreadsheetApp.setActiveSheet(ss.getSheets()[1]); //second sheet of your spreadsheet
sh2.getRange(1,1,target.length,target[0].length).setValues();// paste the selected values in the 2cond sheet
}
}

关于google-apps-script - 使用 Google Apps 脚本仅从 Google 电子表格中选择特定列中的值或公式不为空的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11169001/

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