Google Spreadsheet เรียงสองคอลัมน์


9

ดังนั้นฉันจึงพบคำตอบต่อไปนี้เกี่ยวกับการเรียงลำดับอัตโนมัติตามคอลัมน์เดียวซึ่งใช้งานได้ดี ฉันจะสร้างข้อมูลบางอย่างในการจัดเรียงอัตโนมัติของ Google Spreadsheet ได้อย่างไร

อย่างไรก็ตามกรณีการใช้งานของฉันต้องการการเรียงลำดับของสองคอลัมน์ หนึ่งคอลัมน์คือตัวเลขทั้งหมดในขณะที่คอลัมน์ที่สองคือวันที่ ฉันต้องการจัดเรียงคอลัมน์จำนวนเต็มก่อนจากนั้นจึงเรียงลำดับวันที่ภายในแต่ละหมายเลข

ข้อเสนอแนะใด ๆ

คำตอบ:


9

เริ่มต้นด้วยบรรทัดของรหัสต่อไปนี้:

var range = sheet.getRange("A1:B10");

การเรียงลำดับสามารถทำได้หลายวิธี:

  1. range.sort([1,2]);
  2. range.sort([{column: 1, ascending: true}, {column: 2, ascending: true}]);

ทั้งสองวิธีจะเหมือนกันเป็นชนิดเรียงลำดับจากน้อยไปมากโดยค่าเริ่มต้น แต่ตัวเลือกที่สองช่วยให้การลำดับการจัดเรียงที่แตกต่างกันเมื่อมีการเปลี่ยนแปลงไปTRUEFALSE

ดูการอ้างอิง: range.sort


1
ขอบคุณสำหรับการตอบสนองอย่างรวดเร็ว. คำตอบของคุณเหมาะสมกับฉัน ฉันนำความรู้ไปใช้กับความสำเร็จ
เวียต

ตกลงใหม่สำหรับสิ่งนี้ ... ฉันจะป้อนรหัสด้านบนได้อย่างไร

@robb ดูอ้างอิงการใช้ OP ซึ่งจะนำไปสู่คำตอบที่ฉันให้พร้อมคำอธิบาย
จาค็อบ ม.ค. Tuinstra

2

สายไปงานเลี้ยง แต่นี่คือสิ่งที่ฉันทำ

function onEdit(event){
  var sheet = event.source.getActiveSheet();
  if(sheet.getName()=='Sort by country full'){
    var editedCell = sheet.getActiveCell();
    var columnToSortBy = 16;
    var columnToSortBy2 = 2;
    var tableRange = "A2:AU1451";
    if(editedCell.getColumn() == columnToSortBy){   
      var range = sheet.getRange(tableRange);
      range.sort( [{ column : columnToSortBy },{column: columnToSortBy2,ascending: false }] );
    }
  }
}

จัดเรียงตามคอลัมน์ 16 ก่อนซึ่งสำหรับฉันคือประเทศและจากนั้นให้คะแนนคะแนนในคอลัมน์ 2 จากมากไปหาน้อย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.