Google apps script 在另一个选项卡中查找单元格
这是一个由多个部分组成的问题:我无法用一个清晰的陈述简洁地解释它。在得到一些反馈后,我会尝试清理它:Google apps script 在另一个选项卡中查找单元格,google-apps-script,google-sheets,Google Apps Script,Google Sheets,这是一个由多个部分组成的问题:我无法用一个清晰的陈述简洁地解释它。在得到一些反馈后,我会尝试清理它: 在GoogleDocs中,我想搜索另一个选项卡(在同一个电子表格中),以找到包含特定数据的单元格。数据可能会四处移动,从而无法使用静态单元格引用 //如果我的电子表格的“Sheet2”包含以下内容。。。 A、B、C、D 1 - - - - 2-富吧6 3----- //…然后一些神奇的功能会返回C2 =getCell('Sheet2','bar') 现在我们有了这个单元格
function getCell( sheetname, item, row_offset, default_string )
{
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetname);
var lastrow = sheet.getLastRow();
var lastcol = sheet.getLastColumn();
for( var c = 1; c <= lastcol; c++ )
{
for( var r = 1; r <= lastrow; r++ )
{
var range = sheet.getRange(r, c);
if( range.getValue() == item )
{
//item found! See if we can get the requested cell...
c = c + row_offset; //adjust column using given offset
if( c < 1 || c > lastcol )
return "E.offset";
else
return sheet.getRange(r,c).getValue();
}
}
}
return default_string;
}
函数getCell(图纸名称、项目、行偏移量、默认字符串)
{
var sheet=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetname);
var lastrow=sheet.getLastRow();
var lastcol=sheet.getLastColumn();
对于(var c=1;c您能否在数据范围前添加一行和一列,如下所示:
A B C D E F G
1 "bar"
2 - - - -
3 - foo bar 6
4 - - - -
您有一个单元格,其中包含您要查找的单元格内容,比如G1。在单元格A2中,您放置公式:
=COUNTIF(B2:E2,$G$1)
这将检查A行是否与单元格G1上的A匹配。填写A行中的其他单元格,单元格A3将显示“1”
对单元格B1使用类似的公式:
=COUNTIF(B2:B4,$G$1)
单元格D1将显示一个1
然后,使用INDEX()和MATCH()查找任意一侧单元格的内容:
左:
对:
=INDEX($B$2:$E$4,MATCH(1,$A$2:$A$4,0),MATCH(1,$B$1:$E$1,0)+1)
不需要脚本
=INDEX($B$2:$E$4,MATCH(1,$A$2:$A$4,0),MATCH(1,$B$1:$E$1,0)+1)