2017-09-05 45 views
0

我有一欄下面的示例:減去一定的文字

ABC1 Walsall - ABC: Ground Floor, One Tower, 123 Bridge Street, London AB1 1JZ 
ADF6 Wembley 
KLM1 Bedford - ABC: 6 Another Street, Birmingham CD40 1HP 

一些細胞是空白或有不同的格式,但都開始有4個字符代碼,然後一個城市。

我想減去該代碼,並將其放入一個新的數組和城市名稱到一個不同的數組中。

我試過下面的腳本,但它不起作用。

function myFunction() { 
    var ss = SpreadsheetApp.openById("ID"); 
    var sheet = ss.getSheetByName("Subtract"); 
    var range = sheet.getDataRange(); 
    var data = range.getValues(); 
    var locCode = []; 
    for (i=1; i<data.length; i++) { 
    locCode.push(data[i][0]); 
    } 
    locCode.slice(5, locCode.length); 
    Logger.log(locCode); 

} 

你能幫我解決嗎?

謝謝!

回答

0

假設你總是4個字符的代碼,其次是城市名,後面可以跟空格,破折號和其他字符

var cities = []; 
for (i = 1; i < data.length; i++) { 
    var cellText = data[i][0]; 
    // extract the 4 first characters 
    locCode.push(cellText.substring(0, 4)); 
    // add " -" at the end of text to make sure even 'ADF6 Wembley' has the 
    // 'CODE CITY - ...' format, 
    // then extract any thing after the code and before the first "-", ignoring the space 
    cities.push(cellText.substring(5, (cellText + " -").indexOf("-") - 1)) 
} 
+0

類型錯誤:功能子不能在對象1被發現......這是我得到的錯誤(並得到它,當我試過這種方法)...... –

+0

我運行相同的代碼,除了我使用var sheet = SpreadsheetApp.getActiveSheet();'從'i = 0'迭代。 'Logger.log(locCode); Logger.log(cities); '給我: [17-09-05 17:31:23:459 CEST] [ABC1,ADF6,KLM1] [17-09-05 17:31:23:459 CEST] [Walsall,Wembley,Bedford] – user2520818

+0

我用'getActiveSheet()'替換'getSheetByName()',並設法獲取代碼,但對於城市,每行只有空白。此外,我將需要使用'getSheetByName()',因爲我在該電子表格上有多個工作表。 –