การอ่านค่าจาก Google Sheets ด้วย Google Apps Script

 


การอ่านค่าจาก Google Sheets ด้วยฟังก์ชัน getValue(), getValues(), getDisplayValue(), และ getDisplayValues() ใน Google Apps Script


1. getValue()

✔ ดึง “ค่าจริง” จาก เซลล์เดียว

มักใช้เวลาอ่านค่าจากตำแหน่งเดียว เช่น A1

📌 ตัวอย่าง

const value = sheet.getRange("A1").getValue(); Logger.log(value);


🔍 ผลลัพธ์

  • ถ้าใน A1 มีสูตร =1/3 → จะได้ค่าจริง 0.3333333333
  • ถ้ามีวันที่ → จะได้เป็น ตัวเลข serial date ของ Google Sheet


2. getValues()

✔ ดึง “ค่าจริง” ของ หลายเซลล์ ในรูปแบบ array 2 มิติ

📌 ตัวอย่าง

const values = sheet.getRange("A1:C3").getValues(); Logger.log(values);


🔍 ผลลัพธ์

  • ได้เป็น array [[…], […], […]]
  • ใช้สำหรับประมวลผลข้อมูลจริง เช่น วันที่ในรูปแบบตัวเลข, ตัวเลขยังไม่ฟอร์แมต


3. getDisplayValue()

✔ ดึง “ค่าที่แสดงบนหน้าจอ” จาก เซลล์เดียว

คือค่าที่เห็นใน Google Sheet หลังถูก “ฟอร์แมต” แล้ว

📌 ตัวอย่าง

const display = sheet.getRange("A1").getDisplayValue(); Logger.log(display);


🔍 ผลลัพธ์

  • ถ้าใน A1 มีสูตร =1/3 และฟอร์แมตเป็น 2 ตำแหน่ง → "0.33"
  • ถ้ามีวันที่ฟอร์แมตเป็น 9/11/2025 → จะได้ "9/11/2025"
  • ตัวเลข 10000 ที่ฟอร์แมตเป็น 10,000 → ได้เป็น "10,000"

👉 เหมาะเมื่อคุณต้องการเอาค่าที่เห็นจริงไปโชว์หน้าเว็บ ไม่ต้องการเลข Serial Date


4. getDisplayValues()

✔ ดึง “ค่าที่แสดงบนหน้าจอ” ของ หลายเซลล์ (array 2 มิติ)

📌 ตัวอย่าง

const displays = sheet.getRange("A1:C3").getDisplayValues(); Logger.log(displays);


🔍 ผลลัพธ์

  • วันที่ได้เป็นข้อความ เช่น "9 พ.ย. 2568" ถ้าคุณฟอร์แมตไว้
  • ตัวเลขที่มี comma จะได้ "10,000"
  • ค่าเปอร์เซ็นต์ "15%"

👉 เหมาะสำหรับระบบที่ต้องการส่งข้อมูลไปหน้า HTML และแสดงแบบสวยงามตามฟอร์แมตเดิมของชีต


🔥 สรุปแบบเข้าใจง่ายที่สุด

ฟังก์ชันดึงค่าจำนวนเซลล์ได้ค่าจริงได้ค่าตามฟอร์แมต
getValue()เซลล์เดียว1✔ ใช่✖ ไม่ใช่
getValues()หลายเซลล์หลาย✔ ใช่✖ ไม่ใช่
getDisplayValue()เซลล์เดียว1✖ ไม่ใช่✔ ใช่
getDisplayValues()หลายเซลล์หลาย✖ ไม่ใช่✔ ใช่

⭐ ใช้แบบไหนดี?

ใช้ getValues() เมื่อ…

  • ต้องเอาไปคำนวณต่อ
  • ต้องอ่านวันที่ในรูปแบบ serial
  • ต้องการค่าจริงไม่ใช่ข้อความโชว์

ใช้ getDisplayValues() เมื่อ…

  • ต้องส่งข้อมูลไปแสดงใน HTML
  • ต้องการค่าที่เหมือนตาเห็นในชีต
  • ต้องการหลีกเลี่ยงเลข serial date หรือ format เพี้ยน

🖼️ ภาพรวมการแบ่งหมวดเมธอดหลักของ Range

ลิสต์เมธอดสำคัญทั้งหมดของ Range   ใน Google Apps Script




แสดงความคิดเห็น (0)
ใหม่กว่า เก่ากว่า