一种获取工作表第一行/标题中值的列的方法

A way to get the column of a value in the first row/header of a sheet?

本文关键字:标题 方法 一种 获取 工作 一行      更新时间:2023-09-26

所以我正在尝试在谷歌电子表格与GAS,假设我在第一行中有一些值像这样:

  |   A   |   B    |   C    |  D   |  E   |   F   |
1 | Apple | Orange | Banana | Pear | Lime | Melon |

我想要的是,有一个函数,你输入一个字符串,比如"Orange",它会检查"Orange"在哪个列,然后输出那个列的索引。因此,对于"Orange",它将返回"B",因为它在列"B"/或只是索引数字"index"。

有什么建议吗?还是需要更多的解释?

我是一个编程新手-所以可能有更好,更优雅和更有效的方法来做到这一点,但这似乎工作(感谢WhiteHat的提示)

function isInColumn(searchString) {
  var ss = SpreadsheetApp.getActive();
  var sheet = ss.getSheetByName("DATA"); //insert your sheetname
  var columns = "ABCDEFGHIJKLMNOPYRSTUVWXYZ"; // make a kind of index
  var range = sheet.getRange("A1:G"); // range is first row from A to G
  var values = range.getValues();
  var array = [];
  for (i in values[0]) 
     {
     array.push(values[0][i])   // values is a 2D array
     }    
  var indexNumber = array.indexOf(searchString); // get the position
  var column = columns.charAt(indexNumber);   // match this position to 'kind of index'
  return column;  
}

搜索"Orange"将返回"B"。也许你可以从这里开始。

相关文章: