2013-02-20 46 views
17

Tôi muốn nhận giá trị chuỗi - để so sánh giá trị chuỗi sau đó với điều kiện if- chỉ từ một cột trong bảng tính sử dụng tập lệnh ứng dụng Google. Tôi tìm kiếm trên internet và tôi tìm thấy liên kết này - xin lỗi nếu điều này nghe có vẻ ngớ ngẩn, tôi mới sử dụng Google apps script - https://developers.google.com/apps-script/class_spreadsheetnhận giá trị trong một cột trong bảng tính bằng cách sử dụng tập lệnh google apps

var values = SpreadsheetApp.getActiveSheet().getRange(2, 3, 6, 4).getValues(); 

Tôi đoán rằng phải hữu ích, vấn đề duy nhất là cột Tôi muốn lấy các giá trị từ rất linh hoạt nên làm cách nào để thiết lập một loạt các cột

Trả lời

29

này nếu bạn sử dụng đơn giản:

var values = SpreadsheetApp.getActiveSheet().getDataRange().getValues()

bạn sẽ nhận được một mảng 2 Kích thước của tất cả các dữ liệu trong ngày e được lập chỉ mục theo hàng và cột.

Vì vậy, để có được giá trị trong cột A, ROW1 bạn sử dụng values[0][0], values[1][0] cho columnA, dòng 2, values[0][2] cho cột C ROW1, vv ...

Nếu bạn cần phải lặp trong vòng lặp for (trong một cột duy nhất):

for(n=0;n<values.length;++n){ 
var cell = values[n][x] ; // x is the index of the column starting from 0 
} 

Nếu bạn cần phải lặp trong vòng lặp for (trong một hàng duy nhất):

for(n=0;n<values[0].length;++n){ 
var cell = values[x][n] ; // x is the index of the row starting from 0 
} 
+0

đây có phải là thực sự một cách hiệu quả để làm việc đó, mặc dù? Dường như quá nhiều để lấy toàn bộ phạm vi dữ liệu và sau đó chỉ cần một cột. – Henrik

+1

Phải mất cùng một thời gian để lấy tất cả dữ liệu hoặc chỉ là dữ liệu cột, vì vậy nó thực sự không tạo ra bất kỳ sự khác biệt nào :-) bạn có thể dễ dàng kiểm tra điều đó trong bảng điểm thực thi. –

Các vấn đề liên quan