首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在数组中搜索产品'item Type‘并发送到名为'Item type’的工作表?

如何在数组中搜索产品'item Type‘并发送到名为'Item type’的工作表?
EN

Stack Overflow用户
提问于 2019-12-05 00:13:30
回答 1查看 51关注 0票数 1

我正在组装一个谷歌工作表,从零件列表中组装定制的无人机构建。

主明细表和编译器位于主工作表中。

我已经获得了根据项目类型(字母顺序)组装行数组的脚本。

我想让它在按钮按下时,脚本组装并排序一个数组,然后将行复制到它们的项目类型页面,这样编译器就可以制作一个下拉菜单(菜单部分存在并工作)。只需使用主列表中的数据填充项目类型页面。

我的想法是运行一条if语句,例如if string matches,在匹配的工作表上将数组字符串写入空范围。这是可能的,还是有更简单的方法来做到这一点?

代码语言:javascript
复制
/** @customFunction
What I want the script to do:
Read Column 1 from A26:A100 or lookahead for end of list
If current cell contains Sheet Name, copy row to corresponding sheet.
*/

/** function myFunction() {
Browser.msgBox('You clicked it!');
}
@customFunction
*/ 

/** var PDB = app.getActiveSpreadsheet().getSheetByName("PDB"); //Target sheet for PDB
var VTX = app.getActiveSpreadsheet().getSheetByName("VTX"); //Target sheet for VTX
var FRAME = app.getActiveSpreadsheet().getSheetByName("FRAME"); //Target sheet for FRAME
var MOTOR = app.getActiveSpreadsheet().getSheetByName("MOTOR"); //Target sheet for MOTOR
var FPVCAM = app.getActiveSpreadsheet().getSheetByName("FPVCAM"); //Target sheet for FPVCAM
var AIOFC = app.getActiveSpreadsheet().getSheetByName("AIO FC"); //Target sheet for AIO FC
var ESC = app.getActiveSpreadsheet().getSheetByName("ESC"); //Target sheet for ESC
var PROPS = app.getActiveSpreadsheet().getSheetByName("PROPS"); //Target sheet for PROPS

var itemType = activeSheet.getRange(i, 1).getValue();
*/


function sortscript() {
Logger.clear(); 
var app = SpreadsheetApp                                       //selects app
var activeSheet = app.getActiveSpreadsheet().getActiveSheet(); //selects Spreadsheet and Sheet
var itemListArr = [];

for(var i=27;i<=58;i++){
 var itemListGet = activeSheet.getRange(i, 1, 1, 7).getValues();   //Create Array of Items and rows
itemListArr.push(itemListGet);
 itemListArr.sort();                                               //Groups by item type alphabetically
}


if(itemListArr.indexOf("PDB") > -1) {
activeSheet.getActiveCell()
Logger.log()                        //Does nothing right now ik
}



}
EN

回答 1

Stack Overflow用户

发布于 2019-12-05 04:27:56

也许这不是你想要的,但是我认为这对于使用脚本来说太简单了(除非你打算添加更多的自动化特性)。

您可以简单地转到各个项目工作表,并使用公式来筛选主工作表上的范围。

对于"PBD“表,公式将如下所示:

代码语言:javascript
复制
=FILTER(MASTER!A27:G,MASTER!A27:A="PDB")

结果如下所示。

在'Master‘工作表上,您可以将数据验证设置为'PBD’工作表的引用列'B‘。如果在列B中包含所有行,则项列表将自动更新(例如,如果数据集中有2个以上的"PDB“项)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59180303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档