我最近需要這樣做。這是我想出了,只是硬編碼的電子表格鍵和範圍爲亞哈的myImportRange
功能
// to be used in the spreadsheet like so: = myScriptedImportRange(GoogleClock())
// no need to include key or range because they are in the script here
//
// the third parameter - GoogleClock() - triggers an automatic update every minute.
// updated 2011-07-17 (ahab): better regex to strip sheetname of *outer* single quotes
// updated 2013-01-27 (ben) to hard-code key and range
function myScriptedImportRange() {
var key = "PUT YOUR DATA_SPREADSHEET_ID IN HERE"
var sheetrange = "PUT YOUR SHEET AND CELL RANGE IN HERE"
var shra = sheetrange.split("!") ;
if (shra.length==1) shra[1]=shra[0], shra[0]="";
var sheetstring = shra[0].replace(/^'(.*)'$/g , "$1") // was: replace(/'/g , "") ; updated 2011-07-17 (ahab)
var rangestring = shra[1]
var source = SpreadsheetApp.openById(key)
if (sheetstring.length==0) sheet = source.getSheets()[0] ;
else sheet = source.getSheetByName(sheetstring) ;
return sheet.getRange(rangestring).getValues();
}
在我來說,我有一組專用紙張,使用常規myImportRange
和VMERGE與中間片一些SQL從私人牀單的選擇組合成的中間表,然後簡單地具有包含= myScriptedImportRange(GoogleClock())
注意有類似的做法在這裏一個小區中的公共表:https://stackoverflow.com/a/11857014
還要注意ImportRange
函數和相關函數在原始工作簿打開時通常存在不顯示導入數據的問題。一個簡單的解決方法已經在這裏評論:https://stackoverflow.com/a/11786797
來源
2013-01-28 08:34:05
Ben
我知道這些功能,但我看不到我怎麼能告訴它從**另一個**電子表格中選擇範圍。也許我只是再次愚蠢。 – user1464409
嗨塞爾,我冒昧地編輯你的答案,以解決他對評論的懷疑:) –
@亨利克:感謝您的「編輯」,你是完全正確的,我仍然有一些進展,做一些答案格式化和'完整性'我會照顧的;-) –