เป็นไปได้หรือไม่ที่จะจำกัดความยาวของเนื้อหาเซลล์ขณะป้อนข้อมูลลงในเซลล์โดยใช้ Google Apps Script หรือวิธีอื่นใด
เป็นไปได้หรือไม่ที่จะจำกัดความยาวของเนื้อหาเซลล์ขณะป้อนข้อมูลลงในเซลล์โดยใช้ Google Apps Script หรือวิธีอื่นใด
คำตอบ:
สคริปต์เล็กน้อยต่อไปนี้ จำกัด อินพุตเซลล์ไว้ที่ 5 ตำแหน่งและเพิ่มส่วนเกินเป็นบันทึกไปยังเซลล์
function onEdit(e) {
var limit = 5;
if(e.value.length > limit) {
e.range.setValue(e.value.substring(0, limit) + "...");
e.range.setNote("Remaining text was: \n....." + e.value.substring(limit));
}
}
ในการแก้ไขแต่ละครั้งonEdit(e)
ทริกเกอร์จะเริ่มทำงานและทุกครั้งที่ตรวจสอบว่าค่าเซลล์ ( e.value
) มีความยาวมากกว่า 5 หรือไม่ถ้าเป็นเช่นนั้นเซลล์ที่ใช้งานจะได้รับค่าใหม่ไม่เกิน 5 ตำแหน่ง ( setValue
& substring(0,5)
) ส่วนที่เหลือของข้อความจะถูกเพิ่มเป็นบันทึก
ฉันได้สร้างไฟล์ตัวอย่างสำหรับคุณ: จำกัด การป้อนเซลล์
เพิ่มรหัสภายใต้เครื่องมือ> เครื่องมือแก้ไขสคริปต์จากเมนูสเปรดชีต ในตัวแก้ไขสคริปต์วางรหัสและกดปุ่มบันทึก
ใช้การตรวจสอบข้อมูลด้วยสูตรที่กำหนดเอง
หากเซลล์ที่จะจำกัดความยาวของค่าคือ A1 และขีดจำกัดความยาวคือ 5 สูตรที่กำหนดเองคือ
=LEN(A1)<=5
อ้างอิง
สูตรต่อไปนี้ จำกัด อินพุตเซลล์ไว้ที่ 10 ตำแหน่ง
หากเซลล์ที่จะจำกัดความยาวของค่าคือ A2 และขีดจำกัดความยาวคือ 10 สูตรที่กำหนดเองคือ
=LEFT(A2,10)
ตัวอย่าง:
ผลลัพธ์:
เสร็จสิ้น แต่ถ้าคุณต้องการเพิ่มจุดไข่ปลาหลังจากผลลัพธ์คุณสามารถแก้ไขสิ่งต่อไปนี้:
=CONCATENATE(""&LEFT(A2,10)&" ...")
ผลลัพธ์:
นอกจากนี้เรายังสามารถใช้การตรวจสอบความถูกต้องของข้อมูลด้วยสูตรที่กำหนดเองเพื่อจำกัดความยาวของเซลล์ด้วยการนับจำนวนคำ (aka เพื่อตั้งค่าจำนวนคำสูงสุดในเซลล์)
หากA1เป็นเซลล์ที่เรา จำกัด จำนวนคำและ10คือจำนวนคำสูงสุดสูตรจะเป็น:
= COUNTA (SPLIT (A1, "")) ‹= 10
อ้างอิง: