Thep Excel

STOCKHISTORYดึงประวัติราคาหุ้นย้อนหลัง

ดึงข้อมูลประวัติราคาหุ้นหรืออัตราแลกเปลี่ยนตามช่วงวันที่ที่กำหนด ส่งกลับเป็น Dynamic Array

fx
=STOCKHISTORY(stock, start_date, [end_date], [interval], [headers], [property0-property5])

ความนิยม3/10
ความยาก2/10
ประโยชน์2/10

อัปเดต 2 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
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)

[ ] = อาร์กิวเมนต์ที่ไม่บังคับ

Additional Notes

STOCKHISTORY คือฟังก์ชนที่ใช้ดึงข้อมูลประวัติราคาหุ้น อัตราแลกเปลี่ยนสกุลเงิน หรือ commodity จากอินเทอร์เน็ต โดยระบุรหัสหุ้น (ticker) และช่วงวันที่ที่ต้องการ ฟังก์ชันนี้จะส่งกลับข้อมูลในรูป Dynamic Array ที่สามารถแพร่กระจายลงบนเซลล์ที่อยู่ด้านล่าง

ที่เจ๋งคือ STOCKHISTORY สามารถเลือกอัตรา (daily, weekly, monthly) และเลือกคอลัมน์ข้อมูลที่ต้องการ เช่น Date, Close, Open, High, Low, Volume โดยใช้ property codes ที่หลากหลาย ทำให้คุณสร้างดาชบอร์ดหุ้นที่ยืดหยุ่นได้

ส่วนตัวผม STOCKHISTORY เป็นเครื่องมืออันทรงพลังถ้าคุณต้องการสร้างแอนะลิซิสหุ้นแบบอัตโนมัติในเอกสาร Excel โดยไม่ต้องคัดลอกข้อมูลจากที่อื่น แต่ต้องระวังว่า Excel 365 เท่านั้นที่รองรับ 😎

Examples

ดึงประวัติราคาหุ้น MicrosoftSTOCKHISTORY("MSFT", DATE(2024,1,1), DATE(2024,1,31))

ใช้ DATE() ระบุวันเริ่มต้น (1 มกราคม 2024) และวันสิ้นสุด (31 มกราคม 2024) เพื่อดึงข้อมูลรายวัน โดยค่าเริ่มต้นจะแสดง Date และ Close price

fx
=STOCKHISTORY("MSFT", DATE(2024,1,1), DATE(2024,1,31))

ผลลัพธ์อาร์เรย์ที่มี Date และ Close price ของ MSFT จาก 1-31 มกราคม 2567
ดึงข้อมูลรายสัปดาห์พร้อมราคา Open, High, LowSTOCKHISTORY("AAPL", DATE(2024,1,1), DATE(2024,3,31), 1, 1, 0, 2, 3, 4)

interval=1 หมายถึงข้อมูลรายสัปดาห์ property0,2,3,4 หมายถึง Date, Open, High, Low ตามลำดับ ข้ามไป property1 (Close) เพื่อดูเฉพาะข้อมูลที่ต้องการ

fx
=STOCKHISTORY("AAPL", DATE(2024,1,1), DATE(2024,3,31), 1, 1, 0, 2, 3, 4)

ผลลัพธ์อาร์เรย์ข้อมูลรายสัปดาห์ของ AAPL มี 5 คอลัมน์: Date, Open, High, Low
ดึงข้อมูลอัตราแลกเปลี่ยน USD เป็น EURSTOCKHISTORY("USD:EUR", TODAY()-30, TODAY(), 0, 1, 1)

ใช้ TODAY()-30 และ TODAY() เพื่อดึงข้อมูลอัตราแลกเปลี่ยน ไม่ต้องเป็นหุ้นจำเป็น สามารถใช้สำหรับ commodity และ currency pairs ได้

fx
=STOCKHISTORY("USD:EUR", TODAY()-30, TODAY(), 0, 1, 1)

ผลลัพธ์อาร์เรย์ที่แสดง Close price ของอัตราแลกเปลี่ยน USD:EUR ล่าสุด 30 วัน

FAQs

STOCKHISTORY รองรับใจ Excel เวอร์ชันไหนบ้าง?+

ผมได้รับรู้ว่า STOCKHISTORY เป็นฟังก์ชนใหม่ที่รองรับใน Microsoft Excel 365 เท่านั้น ถ้าใช้ Excel เวอร์ชันปกติ (2021 ก่อนหน้า) จะไม่สามารถใช้ได้ นี่เป็นข้อจำกัดที่สำคัญที่ต้องจำไว้

เวลาที่ฟังก์ชนส่งกลับข้อมูล Dynamic Array คืออะไร?+

ส่วนตัวผม Dynamic Array หมายถึงผลลัพธ์ที่จะขยายลงบนเซลล์ด้านล่างโดยอัตโนมัติ ถ้าคุณใส่สูตร =STOCKHISTORY(…) ลงใน A1 ผลลัพธ์จะแพร่ขยายไปยัง A2, A3, … โดยไม่ต้องใส่สูตรเพิ่มเติม

สามารถดึงข้อมูลแบบ real-time ได้ไหม?+

ผมจะบอกตรงว่า STOCKHISTORY ดึงข้อมูลเฉพาะหลังปิดตลาด (after market close) ไม่ใช่ข้อมูลแบบ real-time หากต้องการราคา live ต้องใช้เครื่องมืออื่นหรือ API ภายนอก

Resources & Related

ฟังก์ชันที่ผู้เขียนโยงไว้กับ STOCKHISTORY จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้STOCKHISTORYInformation
Date and Time (3)
DATE

DATE สร้างวันที่จากตัวเลขปี เดือน วัน แยกกัน รองรับการบวก/ลบเดือนที่เกิน 12 หรือค่าลบ และปรับวันที่ให้อัตโนมัติ เหมาะสำหรับสร้างวันที่จากสูตรหรือใช้ในเงื่อนไข SUMIFS COUNTIFS AVERAGEIFS

EOMONTH

EOMONTH คืนค่าวันที่วันสุดท้ายของเดือน โดยนับจากวันที่เริ่มต้นไปข้างหน้าหรือย้อนหลังตามจำนวนเดือนที่ระบุ เหมาะสำหรับกำหนดวันครบกำหนดสิ้นเดือน

TODAY

TODAY คืนค่า Serial Number ของวันที่ปัจจุบันตามเวลาของเครื่องคอมพิวเตอร์ โดยเวลาจะเป็น 0:00:00 เสมอ
.
ที่เจ๋งคือฟังก์ชันนี้เป็นประเภท Volatile ที่จะคำนวณใหม่ทุกครั้งที่มีการเปลี่ยนแปลงใดๆ ในชีท ที่ต้องระวังคือไม่เหมาะกับการบันทึกวันที่ทำรายการ (Transaction Date) ที่ต้องการให้คงที่ครับ เพราะมันจะเปลี่ยนทุกครั้งที่เปิดไฟล์

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่