2016-06-09 29 views
1

我有一個gsheet,其中有一些信息在列和行中。 我想在第一列中查找「特定文本」並在另一個選項卡中寫入內容,但我不想在列中繼續搜索。 只需要知道特定文本是否出現。在列表gsheet中查找值,使用該信息並停止搜索

例子: 的Spotfire彼得 SMARTWEB邁克 SMARTWEB邁克 X9CLARA約翰

我想尋找文本「SMARTWEB」,並把「發現」這個詞在不同的標籤。

這是一個簡單的腳本:

var Spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); 
var Sheet1 = Spreadsheet.getSheetByName("Sheet one"); 
var Sheet2 = Spreadsheet.getSheetByName("Sheet two"); 
var Lastrow = Sheet1.getLastRow(); 
    for (var i=1; i<=Lastrow; i++){ //check all the rows of that column 
    var Check = Sheet1.getRange(i,1).getValue(); 
    if (Check == "SMARTWEB"){ //check the cell value of each row 
     Sheet2.getRange(3,1).setValue("found"); //write the text in the target cell 
    } 
    } 

但問題是,該腳本將繼續尋找在所有行的「SMARTWEB」值。 想象一下,我有10.000行。 這將需要很多時間。 我只需要一個腳本知道「在所有列行」我有值「SMARTWEB」 我不在乎位置或任何其他細節。只知道它是否出現在列中,並在不同的gsheet中寫入「found」。

它可能以更簡單的方式嗎?

在此先感謝。

+0

不是有你的問題更具體的標籤? –

回答

0

你能不能用這樣一個公式:

=SUM(ArrayFormula(IFERROR(SEARCH("SMARTWEB",Sheet1!A:A))))

正數表示字符串在Sheet1的A列中存在,而零意味着它不支持

+0

嗨克里斯。是的,這是有效的。我想用腳本代替公式,但我可以通過腳本執行公式。比我以前的腳本更容易。謝謝! –

相關問題