การอ่านค่าจาก Google Sheets ด้วยฟังก์ชัน getValue(), getValues(), getDisplayValue(), และ getDisplayValues() ใน Google Apps Script
1. getValue()
✔ ดึง “ค่าจริง” จาก เซลล์เดียว
มักใช้เวลาอ่านค่าจากตำแหน่งเดียว เช่น A1
📌 ตัวอย่าง
🔍 ผลลัพธ์
- ถ้าใน A1 มีสูตร
=1/3→ จะได้ค่าจริง 0.3333333333 - ถ้ามีวันที่ → จะได้เป็น ตัวเลข serial date ของ Google Sheet
2. getValues()
✔ ดึง “ค่าจริง” ของ หลายเซลล์ ในรูปแบบ array 2 มิติ
📌 ตัวอย่าง
🔍 ผลลัพธ์
- ได้เป็น array [[…], […], […]]
- ใช้สำหรับประมวลผลข้อมูลจริง เช่น วันที่ในรูปแบบตัวเลข, ตัวเลขยังไม่ฟอร์แมต
3. getDisplayValue()
✔ ดึง “ค่าที่แสดงบนหน้าจอ” จาก เซลล์เดียว
คือค่าที่เห็นใน Google Sheet หลังถูก “ฟอร์แมต” แล้ว
📌 ตัวอย่าง
🔍 ผลลัพธ์
- ถ้าใน A1 มีสูตร
=1/3และฟอร์แมตเป็น 2 ตำแหน่ง →"0.33" - ถ้ามีวันที่ฟอร์แมตเป็น
9/11/2025→ จะได้"9/11/2025" - ตัวเลข 10000 ที่ฟอร์แมตเป็น
10,000→ ได้เป็น"10,000"
👉 เหมาะเมื่อคุณต้องการเอาค่าที่เห็นจริงไปโชว์หน้าเว็บ ไม่ต้องการเลข Serial Date
4. getDisplayValues()
✔ ดึง “ค่าที่แสดงบนหน้าจอ” ของ หลายเซลล์ (array 2 มิติ)
📌 ตัวอย่าง
🔍 ผลลัพธ์
- วันที่ได้เป็นข้อความ เช่น
"9 พ.ย. 2568"ถ้าคุณฟอร์แมตไว้ - ตัวเลขที่มี comma จะได้
"10,000" - ค่าเปอร์เซ็นต์
"15%"
👉 เหมาะสำหรับระบบที่ต้องการส่งข้อมูลไปหน้า HTML และแสดงแบบสวยงามตามฟอร์แมตเดิมของชีต
🔥 สรุปแบบเข้าใจง่ายที่สุด
| ฟังก์ชัน | ดึงค่า | จำนวนเซลล์ | ได้ค่าจริง | ได้ค่าตามฟอร์แมต |
|---|---|---|---|---|
getValue() | เซลล์เดียว | 1 | ✔ ใช่ | ✖ ไม่ใช่ |
getValues() | หลายเซลล์ | หลาย | ✔ ใช่ | ✖ ไม่ใช่ |
getDisplayValue() | เซลล์เดียว | 1 | ✖ ไม่ใช่ | ✔ ใช่ |
getDisplayValues() | หลายเซลล์ | หลาย | ✖ ไม่ใช่ | ✔ ใช่ |
⭐ ใช้แบบไหนดี?
ใช้ getValues() เมื่อ…
- ต้องเอาไปคำนวณต่อ
- ต้องอ่านวันที่ในรูปแบบ serial
- ต้องการค่าจริงไม่ใช่ข้อความโชว์
ใช้ getDisplayValues() เมื่อ…
- ต้องส่งข้อมูลไปแสดงใน HTML
- ต้องการค่าที่เหมือนตาเห็นในชีต
- ต้องการหลีกเลี่ยงเลข serial date หรือ format เพี้ยน
