Note: The other languages of the website are Google-translated. Back to English
English English

จะลบแถวทั้งหมดที่มีข้อความเฉพาะภายในคอลัมน์ใน Google ชีตได้อย่างไร

สมมติว่าคุณมีช่วงข้อมูลในแผ่นงาน Google ตอนนี้คุณต้องการลบแถวตามค่าของเซลล์ในคอลัมน์ ตัวอย่างเช่นฉันต้องการลบแถวทั้งหมดที่มีข้อความ“ Complete” ใน Colum C บทความนี้จะพูดถึงวิธีแก้ปัญหาใน Google sheets

ลบแถวทั้งหมดที่มีข้อความเฉพาะภายในคอลัมน์ด้วยรหัสสคริปต์


ลบแถวทั้งหมดที่มีข้อความเฉพาะภายในคอลัมน์ด้วยรหัสสคริปต์

หากต้องการลบแถวทั้งหมดที่มีข้อความเฉพาะในคอลัมน์โค้ดสคริปต์ต่อไปนี้สามารถช่วยคุณได้โปรดดำเนินการดังนี้:

1. คลิก เครื่องมือ > โปรแกรมแก้ไขสคริปต์ดูภาพหน้าจอ:

doc ลบแถวที่มี 1

2. ในหน้าต่างรหัสที่เปิดใหม่คัดลอกและวางรหัสต่อไปนี้ลงในหน้าต่างรหัสเปล่าดูภาพหน้าจอ:

function deleteRows() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = ss.getSheetByName('delete containing');
  var r = s.getRange('C:C');
  var v = r.getValues();
  for(var i=v.length-1;i>=0;i--)
    if(v[0,i]=='Complete')
      s.deleteRow(i+1);
};

doc ลบแถวที่มี 2

หมายเหตุ: ในโค้ดด้านบน“ลบที่มี” คือชื่อแผ่นงานที่มีข้อมูลที่คุณต้องการลบ“ค: ค” คือคอลัมน์ที่มีข้อความเฉพาะที่คุณต้องการลบ“สมบูรณ์” คือข้อความเฉพาะที่คุณต้องการลบแถวตามความต้องการของคุณโปรดเปลี่ยนเป็นข้อความที่คุณต้องการ

3. จากนั้นบันทึกรหัสนี้แล้วคลิก วิ่ง ปุ่มในหน้าต่างรหัสเพื่อรันโค้ดสคริปต์นี้ดูภาพหน้าจอ:

doc ลบแถวที่มี 3

4. และแถวทั้งหมดที่มีข้อความเฉพาะ "เสร็จสมบูรณ์" ถูกลบพร้อมกันดูภาพหน้าจอ:

doc ลบแถวที่มี 4


ลบแถวทั้งหมดที่มีข้อความเฉพาะในแผ่นงาน Excel:

หากคุณต้องการลบแถวทั้งหมดที่มีค่าเฉพาะในคอลัมน์ไฟล์ Kutools สำหรับ Excel's เลือกเซลล์เฉพาะ คุณลักษณะสามารถช่วยให้คุณเลือกแถวทั้งหมดที่ตรงกับเกณฑ์จากนั้นคุณเพียงแค่ต้องลบแถวในครั้งเดียว

doc ลบแถวที่มี 5

Kutools สำหรับ Excel: ด้วย Add-in ของ Excel ที่มีประโยชน์มากกว่า 300 รายการให้ทดลองใช้ฟรีโดยไม่มีข้อ จำกัด ใน 30 วัน ดาวน์โหลดและทดลองใช้ฟรีทันที!


เครื่องมือเพิ่มประสิทธิภาพการทำงานในสำนักงานที่ดีที่สุด

Kutools สำหรับ Excel ช่วยแก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%

  • นำมาใช้ใหม่: ใส่อย่างรวดเร็ว สูตรที่ซับซ้อนแผนภูมิ และสิ่งที่คุณเคยใช้มาก่อน เข้ารหัสเซลล์ ด้วยรหัสผ่าน; สร้างรายชื่อผู้รับจดหมาย และส่งอีเมล ...
  • ซุปเปอร์ฟอร์มูล่าบาร์ (แก้ไขข้อความและสูตรหลายบรรทัดได้อย่างง่ายดาย); การอ่านเค้าโครง (อ่านและแก้ไขเซลล์จำนวนมากได้อย่างง่ายดาย); วางลงในช่วงที่กรองแล้ว...
  • ผสานเซลล์ / แถว / คอลัมน์ โดยไม่สูญเสียข้อมูล แยกเนื้อหาของเซลล์ รวมแถว / คอลัมน์ที่ซ้ำกัน... ป้องกันเซลล์ซ้ำ; เปรียบเทียบช่วง...
  • เลือกซ้ำหรือไม่ซ้ำ แถว; เลือกแถวว่าง (เซลล์ทั้งหมดว่างเปล่า); Super Find และ Fuzzy Find ในสมุดงานจำนวนมาก สุ่มเลือก ...
  • สำเนาถูกต้อง หลายเซลล์โดยไม่เปลี่ยนการอ้างอิงสูตร สร้างการอ้างอิงอัตโนมัติ ถึงหลายแผ่น ใส่สัญลักษณ์แสดงหัวข้อย่อย, กล่องกาเครื่องหมายและอื่น ๆ ...
  • แยกข้อความ, เพิ่มข้อความ, ลบตามตำแหน่ง, ลบ Space; สร้างและพิมพ์ผลรวมย่อยของเพจ แปลงระหว่างเนื้อหาของเซลล์และความคิดเห็น...
  • ซุปเปอร์ฟิลเตอร์ (บันทึกและใช้โครงร่างตัวกรองกับแผ่นงานอื่น ๆ ); การเรียงลำดับขั้นสูง ตามเดือน / สัปดาห์ / วันความถี่และอื่น ๆ ตัวกรองพิเศษ โดยตัวหนาตัวเอียง ...
  • รวมสมุดงานและแผ่นงาน; ผสานตารางตามคอลัมน์สำคัญ แยกข้อมูลออกเป็นหลายแผ่น; Batch แปลง xls, xlsx และ PDF...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ. รองรับ Office / Excel 2007-2019 และ 365 รองรับทุกภาษา ใช้งานง่ายในองค์กรหรือองค์กรของคุณ ทดลองใช้ฟรี 30 วันเต็ม รับประกันคืนเงิน 60 วัน
kte แท็บ 201905

แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มผลผลิตของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
ด้านล่าง officetab
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (14)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ไม่ทำอะไรเลย ไม่แน่ใจว่าจะแก้ไขได้อย่างไร
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี,
ฉันสามารถแก้ไขโค้ดด้านล่างเพื่อลบเซลล์ที่มีสีแทนข้อความที่ระบุได้หรือไม่:


ฟังก์ชัน deleteRows() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName('ลบที่มี');
var r = s.getRange('C:C');
var v = r.getValues();
สำหรับ(var i=v.length-1;i>=0;i--)
if(v[0,i]=='Complete')
s.deleteRow(i+1);
};
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี,
สามารถแก้ไขโค้ดด้านล่างเพื่อลบแถวสีแทนข้อความ


ฟังก์ชัน deleteRows() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName('ลบที่มี');
var r = s.getRange('C:C');
var v = r.getValues();
สำหรับ(var i=v.length-1;i>=0;i--)
if(v[0,i]=='Complete')
s.deleteRow(i+1);
};
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ดูเหมือนว่าจะใช้ได้ก็ต่อเมื่อเซลล์มีเฉพาะข้อความที่ระบุเท่านั้น ฉันต้องการลบแถวที่มีเซลล์ที่มีข้อความอื่นๆ รวมทั้งข้อความที่ระบุ ฉันมีที่อยู่อีเมลจำนวนมากและต้องการกำจัดแถวที่มีที่อยู่ Gmail ดังนั้นฉันจึงกำลังมองหาเซลล์ที่มี 'gmail.com'

ไม่มีโชคที่นี่
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
แทนที่บรรทัดนี้: if(v[0,i]=='Complete')
ด้วยสิ่งนี้: if(v[0,i].indexOf('gmail') > -1)
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันลองแล้ว มันยังไม่ทำงาน
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ไม่ได้ผลสำหรับฉันเช่นกัน
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เหตุใดจึงต้องใช้ตัวดำเนินการจุลภาคใน v[0,i]
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
คิดออกแล้ว แต่มีปัญหาในการทำงานกับแผ่นงานขนาดใหญ่เนื่องจากเกินรันไทม์สูงสุด โดยทั่วไป ข้อมูลที่ส่งคืนสำหรับ 'v' นั้นเป็นประเภท 'object' ดังนั้นคุณต้อง JSON.stringify() ก่อนจึงจะสามารถตรวจจับค่าได้
ฟังก์ชัน deleteRows() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName('แทนที่ด้วยชื่อแผ่นงาน');
var r = s.getRange('C:C'); // แทนที่ 'C:C' ให้เป็นคอลัมน์ที่คุณต้องการแทนที่ เช่น start:end
var v = r.getValues();
สำหรับ (var i=v.length-1;i>=0;i--) {
if(JSON.stringify(v[i]).includes('REPLACE WITH CHAR YOU WANT TO REPLACE')) {
s.deleteRow(i+1);
}
}
};
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันแก้ไขสิ่งนี้ด้วยตัวเองโดยใช้สิ่งต่อไปนี้
สาเหตุที่มันใช้งานไม่ได้เพราะ v ส่งคืนอาร์เรย์ที่มีรายการเดียวเท่านั้น [0]
ฉันยังใช้ Javascript .includes() เพื่อให้คุณสามารถลบบันทึกที่ "มี" ข้อความนั้นได้


ฟังก์ชัน deleteRows() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName('ค่าเริ่มต้น');
var r = s.getRange('A:A');
var v = r.getValues();
สำหรับ(var i=v.length-1;i>=1;i--)
if(v[i][0].includes("appleid.com")) {
console.log('แถวที่ถูกลบ' + v[i][0]);
s.deleteRow(i+1);
}
};
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
งานดีมาก ทำงานได้อย่างราบรื่น
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันจะทำให้สิ่งนี้ใช้งานได้หลากหลายมากขึ้นได้อย่างไร

สมมติว่าฉันสร้างรายการคำที่อยู่ในบัญชีดำใน Sheet1 และฉันต้องการลบแถวทั้งหมดใน Sheet2 ที่มีคำนั้นในคอลัมน์ A ฉันติดอยู่กับสิ่งนี้ใน Google ชีตโดยสิ้นเชิง
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
โชคดีอะไรเบอร์นี้??
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
Bonjour, j'aime beaucoup ce script. Moi je cherche un script qui permet de supprimer automatiquement tous les éléments ou contenus d'une colonne après chaque 1 นาที Pas supprimer la colonne, mais le contenu de la colonne ปูเวซ วู ไมเดอร์ ?
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ