ดึงข้อมูลประวัติราคาหุ้นหรืออัตราแลกเปลี่ยนตามช่วงวันที่ที่กำหนด ส่งกลับเป็น Dynamic Array
| อาร์กิวเมนต์ | ชนิด | คำอธิบาย |
|---|---|---|
| stock | Text | รหัสหุ้นในเครื่องหมาย quote เช่น “MSFT” หรือ “USD:EUR” สำหรับอัตราแลกเปลี่ยน หรือระบุ exchange เช่น “XNAS:MSFT” (NASDAQ) |
| start_date | Date | วันเริ่มต้นของช่วงข้อมูลที่ต้องการดึง (ระบุเป็น date value หรือ text ในรูป “YYYY-MM-DD”) |
| [end_date]ไม่บังคับ | Date | วันสิ้นสุดของช่วงข้อมูล ถ้าไม่ระบุจะใช้ start_date แทน |
| [interval]ไม่บังคับ | Number | ประเภทช่วงเวลาของข้อมูล: 0=daily (ค่าเริ่มต้น), 1=weekly, 2=monthly |
| [headers]ไม่บังคับ | Number | การแสดงผลหัวคอลัมน์: 0=ไม่แสดง, 1=แสดงหัวคอลัมน์ (ค่าเริ่มต้น), 2=แสดงหัวลักษณะเฉพาะของหุ้น |
| [property0-property5]ไม่บังคับ | Number | เลือกประเภทข้อมูลที่ต้องการ: 0=Date, 1=Close, 2=Open, 3=High, 4=Low, 5=Volume (ค่าเริ่มต้น: 0,1 = Date, Close) |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
STOCKHISTORY คือฟังก์ชนที่ใช้ดึงข้อมูลประวัติราคาหุ้น อัตราแลกเปลี่ยนสกุลเงิน หรือ commodity จากอินเทอร์เน็ต โดยระบุรหัสหุ้น (ticker) และช่วงวันที่ที่ต้องการ ฟังก์ชันนี้จะส่งกลับข้อมูลในรูป Dynamic Array ที่สามารถแพร่กระจายลงบนเซลล์ที่อยู่ด้านล่าง
ที่เจ๋งคือ STOCKHISTORY สามารถเลือกอัตรา (daily, weekly, monthly) และเลือกคอลัมน์ข้อมูลที่ต้องการ เช่น Date, Close, Open, High, Low, Volume โดยใช้ property codes ที่หลากหลาย ทำให้คุณสร้างดาชบอร์ดหุ้นที่ยืดหยุ่นได้
ส่วนตัวผม STOCKHISTORY เป็นเครื่องมืออันทรงพลังถ้าคุณต้องการสร้างแอนะลิซิสหุ้นแบบอัตโนมัติในเอกสาร Excel โดยไม่ต้องคัดลอกข้อมูลจากที่อื่น แต่ต้องระวังว่า Excel 365 เท่านั้นที่รองรับ 😎
ใช้ DATE() ระบุวันเริ่มต้น (1 มกราคม 2024) และวันสิ้นสุด (31 มกราคม 2024) เพื่อดึงข้อมูลรายวัน โดยค่าเริ่มต้นจะแสดง Date และ Close price
interval=1 หมายถึงข้อมูลรายสัปดาห์ property0,2,3,4 หมายถึง Date, Open, High, Low ตามลำดับ ข้ามไป property1 (Close) เพื่อดูเฉพาะข้อมูลที่ต้องการ
ใช้ TODAY()-30 และ TODAY() เพื่อดึงข้อมูลอัตราแลกเปลี่ยน ไม่ต้องเป็นหุ้นจำเป็น สามารถใช้สำหรับ commodity และ currency pairs ได้
ผมได้รับรู้ว่า STOCKHISTORY เป็นฟังก์ชนใหม่ที่รองรับใน Microsoft Excel 365 เท่านั้น ถ้าใช้ Excel เวอร์ชันปกติ (2021 ก่อนหน้า) จะไม่สามารถใช้ได้ นี่เป็นข้อจำกัดที่สำคัญที่ต้องจำไว้
ส่วนตัวผม Dynamic Array หมายถึงผลลัพธ์ที่จะขยายลงบนเซลล์ด้านล่างโดยอัตโนมัติ ถ้าคุณใส่สูตร =STOCKHISTORY(…) ลงใน A1 ผลลัพธ์จะแพร่ขยายไปยัง A2, A3, … โดยไม่ต้องใส่สูตรเพิ่มเติม
ผมจะบอกตรงว่า STOCKHISTORY ดึงข้อมูลเฉพาะหลังปิดตลาด (after market close) ไม่ใช่ข้อมูลแบบ real-time หากต้องการราคา live ต้องใช้เครื่องมืออื่นหรือ API ภายนอก
ฟังก์ชันที่ผู้เขียนโยงไว้กับ STOCKHISTORY จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
DATE สร้างวันที่จากตัวเลขปี เดือน วัน แยกกัน รองรับการบวก/ลบเดือนที่เกิน 12 หรือค่าลบ และปรับวันที่ให้อัตโนมัติ เหมาะสำหรับสร้างวันที่จากสูตรหรือใช้ในเงื่อนไข SUMIFS COUNTIFS AVERAGEIFS
EOMONTH คืนค่าวันที่วันสุดท้ายของเดือน โดยนับจากวันที่เริ่มต้นไปข้างหน้าหรือย้อนหลังตามจำนวนเดือนที่ระบุ เหมาะสำหรับกำหนดวันครบกำหนดสิ้นเดือน
TODAY คืนค่า Serial Number ของวันที่ปัจจุบันตามเวลาของเครื่องคอมพิวเตอร์ โดยเวลาจะเป็น 0:00:00 เสมอ
.
ที่เจ๋งคือฟังก์ชันนี้เป็นประเภท Volatile ที่จะคำนวณใหม่ทุกครั้งที่มีการเปลี่ยนแปลงใดๆ ในชีท ที่ต้องระวังคือไม่เหมาะกับการบันทึกวันที่ทำรายการ (Transaction Date) ที่ต้องการให้คงที่ครับ เพราะมันจะเปลี่ยนทุกครั้งที่เปิดไฟล์
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่