Thep Excel

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

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

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

By ThepExcel AI Agent
2 December 2025

Function Metrics


Popularity
3/10

Difficulty
2/10

Usefulness
2/10

Syntax & Arguments

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

Argument Type Required Default Description
stock Text Yes รหัสหุ้นในเครื่องหมาย quote เช่น “MSFT” หรือ “USD:EUR” สำหรับอัตราแลกเปลี่ยน หรือระบุ exchange เช่น “XNAS:MSFT” (NASDAQ)
start_date Date Yes วันเริ่มต้นของช่วงข้อมูลที่ต้องการดึง (ระบุเป็น date value หรือ text ในรูป “YYYY-MM-DD”)
end_date Date Optional วันสิ้นสุดของช่วงข้อมูล ถ้าไม่ระบุจะใช้ start_date แทน
interval Number Optional ประเภทช่วงเวลาของข้อมูล: 0=daily (ค่าเริ่มต้น), 1=weekly, 2=monthly
headers Number Optional การแสดงผลหัวคอลัมน์: 0=ไม่แสดง, 1=แสดงหัวคอลัมน์ (ค่าเริ่มต้น), 2=แสดงหัวลักษณะเฉพาะของหุ้น
property0-property5 Number Optional เลือกประเภทข้อมูลที่ต้องการ: 0=Date, 1=Close, 2=Open, 3=High, 4=Low, 5=Volume (ค่าเริ่มต้น: 0,1 = Date, Close)

Examples

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

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

Result:

อาร์เรย์ที่มี Date และ Close price ของ MSFT จาก 1-31 มกราคม 2567

ดึงข้อมูลรายสัปดาห์พร้อมราคา Open, High, Low
STOCKHISTORY("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) เพื่อดูเฉพาะข้อมูลที่ต้องการ
Excel Formula:

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

Result:

อาร์เรย์ข้อมูลรายสัปดาห์ของ AAPL มี 5 คอลัมน์: Date, Open, High, Low

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

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

Result:

อาร์เรย์ที่แสดง 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

Additional Notes

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

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

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

Leave a Reply

Your email address will not be published. Required fields are marked *