簡體   English   中英

谷歌通過公式而不是腳本在單元格中設置文件名?

[英]Google Sheets filename in cell via formula instead of a script?

是否有一個FORMULA將在單元格中顯示文件的名稱?

我發現了可以執行此操作的腳本,顯示工作表名稱的公式,但沒有運氣找到顯示文件名的公式。

如果我不得不訴諸劇本,那就這樣吧。 但是如果可能的話我想使用公式。

如果之前已經詢問過,請指出我的帖子,我會刪除這個。

沒有這樣的公式。 Google表格的當前限制不支持僅通過內部公式獲取工作表名稱,因此您需要求助於腳本。 這里有一些變化:

獲取此公式所用的工作表的工作表名稱:

function SHEETNAME() {
  return SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getName();
}

0


列出所有工作表名稱和gids:

function SHEETLIST() {
try {
  var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets()
  var out = new Array( sheets.length+1 ) ;
  out[0] = [ "NAME" , "#GID" ];
  for (var i = 1 ; i < sheets.length+1 ; i++ ) out[i] = 
  [sheets[i-1].getName() , sheets[i-1].getSheetId() ];
  return out
}
catch( err ) {
  return "#ERROR!" 
}
}

0


或基於訂單的工作表名稱(例如,從左到右,最左邊是1):

function SHEET(input) {
try {
  var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets() ;
  if( (input>0) && (input <= sheets.length)) return sheets[(input-1)].getName() ;
  else return "invalid sheet #" ;
}
catch( err ) {
  return "#ERROR!" 
}
}

0


獲取電子表格名稱等:

function SNAME(option) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet()
  var thisSheet = sheet.getName(); 
  if(option === 0){                            // ACTIVE SHEET NAME =SNAME(0)
    return thisSheet;
  }else if(option === 1){                      // ALL SHEET NAMES =SNAME(1)
    var sheetList = [];
    ss.getSheets().forEach(function(val){
       sheetList.push(val.getName())
    });
    return sheetList;
  }else if(option === 2){                      // SPREADSHEET NAME =SNAME(2)
    return ss.getName();    
  }else{
    return "#N/A";                             // ERROR MESSAGE
  };
};

0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM