2017-09-05 2 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); 

} 

お願いします。

ありがとうございました!機能サブがオブジェクト1で見つけることができません...この:あなたは、常に都市名に続くコードの4つの文字を、持っていると仮定し

答えて

0

は、必要に応じてスペース、ダッシュ、および他の文字

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

はTypeErrorを続きます私はこのメソッドを試してみたときに得たエラーです。 –

+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

'getSheetByName()'を 'getActiveSheet()'に置き換えてコードを取得することができますが、都市では各行の空白だけを取得します。また、そのスプレッドシートに複数のシートがあるので、 'getSheetByName()'を使う必要があります。 –