[Help] – Chuyển Cột Sang Hàng (bỏ ô trống) (ok)
https://hocggsheet.com/chuyen-cot-sang-hang-bo-o-trong/
Last updated
https://hocggsheet.com/chuyen-cot-sang-hang-bo-o-trong/
Last updated
Cách 1:
Cách 2:
Có 2 cách dễ nhất để chúng ta chuyển đổi từ hàng sang cột (bỏ ô trống).
Sử dụng vòng lặp For với ý tưởng là kiểm tra từng ô trong dải. Nếu ô Có dữ liệu (không bỏ trống) thì ghi ô đó vào Ô đích đến.
Ưu: dễ làm, dễ nghĩ, dễ thực hiện
Nhược: không dùng được với dải ô có nhiều ô vì khi kết hợp vòng lặp For và getRange(), getValue(), và setValue() thì chương trình sẽ thực thi một lượng lớn câu lệnh. Dẫn đến quá tải và bị chậm.
Để sử dụng cách 1 trong code trên, hãy xóa các dấu // ở đầu dòng các câu lệnh trong cách 1, đồng thời xóa cách 2 đi. Vì code trên chỉ thực hiện được 1 trong 2 cách một lúc mà thôi.
Các bước thực hiện như sau:
Sử dụng getValues() để ghi hết giá trị của dải ô muốn chuyển vào 1 mảng riêng biệt
Kiểm tra và lấy các phần tử Khác rỗng trong mảng đó, rồi tách thành 1 mảng riêng biệt thứ 2
Cuối cùng, ghi mảng thứ 2 vào dải ô đích đến.
0123456789101112131415161718192021222324252627282930
function hocggsheet() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var nguon = ss.getSheetByName("Nguon"); var dich = ss.getSheetByName("Dich"); var nguonRange = nguon.getRange(1,1,nguon.getLastRow()); /* Cach 1 */// var j = 3;// for (var i = 1; i<=500; i++) {// var giatri = nguon.getRange(i, 1).getValue();// if (giatri != "") {// nguon.getRange(7, j).setValue(giatri);// j++;// }// } /* Cach 2 */ var j = 0; var dichR = []; var nguonValue = nguonRange.getValues(); for (var i = 0; i < nguonValue.length; i++) { if (nguonValue[i] != "") { dichR[j] = nguonValue[i][0]; j++; } } nguon.getRange(7, 3, 1, dichR.length).setValues([dichR]); /* Nếu muốn copy qua sheet Dich: */ dich.getRange(7, 1, 1, dichR.length).setValues([dichR]);}
Xem file (google sheet) chia sẻ
Bài này nhằm giải quyết câu hỏi của 1 bạn đã gửi về cho hocggsheet.com
Nếu có thắc mắc nào về code thì bạn có thể gửi câu hỏi vào form sau, nếu có thể thì mình sẽ dành thời gian để trả lời.
Chuyển Cột A sang Hàng bắt đầu từ ô C7