วิธีจำกัดความยาวของข้อมูลในเซลล์ใน Google ชีต


9

เป็นไปได้หรือไม่ที่จะจำกัดความยาวของเนื้อหาเซลล์ขณะป้อนข้อมูลลงในเซลล์โดยใช้ Google Apps Script หรือวิธีอื่นใด


1
ไม่ในขณะที่เข้า เมื่อออกจากมันเป็นไปได้
จาค็อบ Jan Tuinstra

คำตอบ:


6

สคริปต์เล็กน้อยต่อไปนี้ จำกัด อินพุตเซลล์ไว้ที่ 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)) ส่วนที่เหลือของข้อความจะถูกเพิ่มเป็นบันทึก

ภาพหน้าจอ

ป้อนคำอธิบายรูปภาพที่นี่

ตัวอย่าง

ฉันได้สร้างไฟล์ตัวอย่างสำหรับคุณ: จำกัด การป้อนเซลล์
เพิ่มรหัสภายใต้เครื่องมือ> เครื่องมือแก้ไขสคริปต์จากเมนูสเปรดชีต ในตัวแก้ไขสคริปต์วางรหัสและกดปุ่มบันทึก


6

ใช้การตรวจสอบข้อมูลด้วยสูตรที่กำหนดเอง

หากเซลล์ที่จะจำกัดความยาวของค่าคือ A1 และขีดจำกัดความยาวคือ 5 สูตรที่กำหนดเองคือ

=LEN(A1)<=5

อ้างอิง


วิธีรวมสิ่งนี้เข้ากับข้อความที่ไม่มี "XYZ, ABC"
shadowz1337

1

สูตรต่อไปนี้ จำกัด อินพุตเซลล์ไว้ที่ 10 ตำแหน่ง

หากเซลล์ที่จะจำกัดความยาวของค่าคือ A2 และขีดจำกัดความยาวคือ 10 สูตรที่กำหนดเองคือ

=LEFT(A2,10)

ตัวอย่าง:

ตัวอย่างที่ 1 สูตร

ผลลัพธ์:

ตัวอย่างที่ 1 ผล

เสร็จสิ้น แต่ถ้าคุณต้องการเพิ่มจุดไข่ปลาหลังจากผลลัพธ์คุณสามารถแก้ไขสิ่งต่อไปนี้:

=CONCATENATE(""&LEFT(A2,10)&" ...")

ผลลัพธ์:

ตัวอย่างที่ 2


0

นอกจากนี้เรายังสามารถใช้การตรวจสอบความถูกต้องของข้อมูลด้วยสูตรที่กำหนดเองเพื่อจำกัดความยาวของเซลล์ด้วยการนับจำนวนคำ (aka เพื่อตั้งค่าจำนวนคำสูงสุดในเซลล์)

หากA1เป็นเซลล์ที่เรา จำกัด จำนวนคำและ10คือจำนวนคำสูงสุดสูตรจะเป็น:

= COUNTA (SPLIT (A1, "")) ‹= 10

อ้างอิง:


1
โดยทั่วไปจะเหมือนกับคำตอบอื่น ๆแต่มีสูตรที่ซับซ้อน
Rubén

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