อัพเดตข้อมูลหุ้นใส่ Excel อัตโนมัติด้วย Power Automate Desktop ตอนที่ 1

คงปฏิเสธไม่ได้ว่า internet เป็นแหล่งข้อมูลที่ใหญ่ที่สุดในโลกขณะนี้ แล้วในชีวิตประจำวันจะต้องมีการหาข้อมูลจาก internet เพื่อมาประมวลผล เช่นหาข้อมูลแล้วมากรอกใส่ excel เพื่อใช้ทำการเปรียบเทียบ หรือทำ chart ต่อไป แต่งานเหล่านี้หากมานั่งทำ manual คงกินเวลาน่าดู ในบทความนี้เราจะมาดูวิธีการอัพเดตข้อมูลหุ้นใส่ Excel อัตโนมัติด้วย Power Automate Desktop กัน โดยข้อมูลหุ้นก็มาจาก internet นั่นเอง

ในบทความก่อนหน้าเราได้พูดถึงการใช้ power automate มาช่วยในการอ่านข้อมูลจาก PDF เพื่อนำมาใส่ไปที่ Excel ไปแล้ว โดยสามารถกลับไปดูได้ที่นี่

เรามาดูภาพรวมสิ่งที่เราจะทำกันในวันนี้กันก่อนกันก่อน จากรูปด้านล่างจะเห็นว่า Power Automate flow ของเราในวันนี้จะรับ inputs มาสองอย่าง คือ

  1. ไฟล์ Excel ที่มีรายการหุ้นที่เราสนใจ โดยในตัวอย่างมีอยู่สามตัว แต่เราจะมีมากกว่านี้หรือน้อยกว่านี้ก็ได้
  2. ข้อมูลหุ้นจากอินเตอร์เน็ต โดยในบทความนี้เราจะดึงข้อมูล stock factsheet จากเว็บไซต์ของตลาดหลักทรัพย์กัน

โดย Power Automate จะวนอ่านรอบรายการหุ้นที่สนใจจาก Excel ทีละตัวจากนั้นก็เข้าไปเว็บไซต์เพื่อดึงข้อมูลออกมาแล้วกรอกข้อมูลที่เราสนใจกลับไปใส่เข้า Excel และทำการบันทึก

อัพเดตข้อมูลหุ้นใส่ Excel อัตโนมัติด้วย Power Automate Desktop
อัพเดตข้อมูลหุ้นใส่ Excel อัตโนมัติด้วย Power Automate Desktop

หลังจากเห็นภาพกันแล้วว่าเราจะทำอะไรกันมาเริ่มลงมือกันเลยดีกว่า โดยขั้นตอนแรกให้เริ่มจากการสร้างไฟล์ Excel ขึ้นมาแล้วเลือกระบุหุ้นที่เราสนใจใส่เอาไว้ใน column A โดยในตัวอย่างผมเลือกมาแค่สามหุ้นคือ PTT, CPALL, AOT จะได้ไม่ใช้เวลารันนานเกินไป และเพื่อความง่ายเราจะดึงข้อมูลแค่ EV/EBITDA, Price, P/E, P/BV นะครับ ให้สร้างไฟล์และบันทึกเป็นชื่ออะไรก็ได้ตามตัวอย่างข้างล่างนี่เลย

Excel ระบุหุ้นที่สนใจ
Excel ระบุหุ้นที่สนใจ

จากนั้นให้เราเปิด Power Automate Desktop ขึ้นมาแล้วเริ่มสร้าง Flow ใหม่ขึ้นมาได้เลย โดยโครงร่างเริ่มต้นของ Flow จะเป็นดังรูปข้างล่าง

Power Automate Desktop stock to excel step 1
Power Automate Desktop stock to excel step 1

เราจะมาดูรายละเอียด Action แต่ละตัวใน Flow ของเรากันเลย

Action #1: Launch Excel – ในขั้นตอนนี้เราจะสั่งให้ Power Automate เปิดไฟล์ Excel ขึ้นมาในโหมด Read/Write โดยกำหนด Parameter ตามตารางข้างล่างเลย

Action #1
ActionLaunch Excel
Launch Exceland open the following document
Document Pathเลือกไฟล์ Excel ที่เราสร้างไว้ก่อนนี้
Make instance visibleChecked
Open as ReadOnlyUnchecked
Variables ProducedExcelInstance

Action #2: Set Variable – ในขั้นตอนนี้เราจะกำหนดตัวแปร CurrentExcelRow ไว้สำหรับทำการกำหนดจุดเริ่มอ่านชื่อหุ้นและยังใช้ในอนาคตสำหรับการระบุบรรทัดที่เราจะให้ Power Automate เขียนข้อมูลกลับเข้ามาอีกด้วย

Action #2
ActionSet Variable
VariableCurrentExcelRow
Value2

Action #3: Get first free row on column from Excel worksheet – ในขั้นตอนนี้เราต้องการหาบรรทัดแรกใน Column A ที่ไม่มีข้อมูลหรือว่างๆอยู่นั่นเอง โดยเราจะใช้ข้อมูลนี้ในการกำหนดว่าจะให้ Power Automate อ่านข้อมูลไปถึงบรรทัดไหน ดังนั้นหากเราใส่ข้อมูลหุ้นที่สนใจไว้ 10 รายการ PAD ก็จะอ่านทั้ง 10 รายการ

Action #3
ActionGet first free row on column from Excel worksheet
Excel instance%ExcelInstance%
ColumnA
Variables producedFirstFreeRowOnColumn

Action #4: Read from Excel worksheet – ขั้นตอนนี้เป็นการอ่านข้อมูลหุ้นทั้งหมดที่เราสนใจมาเก็บไว้ โดยจุดสำคัญใน action นี้คือการกำหนด Start row และ End row โดยจะเห็นว่าเรากำหนด Start row ด้วยตัวแปร %CurrentExcelRow% ที่เรากำหนดไว้ในตอนต้น โดยจะมีค่าเป็น 2 ซึ่งก็คือบรรทัดแรกที่มีข้อมูลหุ้นใน excel ของเรา

ส่วน End row นั้นเรากำหนดให้เห็นค่า %FirstFreeRowOnColumn -1% ซึ่งเป็นการบอกว่าให้เอาค่าตัวแปรที่เราได้จากการหาบรรทัดแรกใน column A ที่ว่างอยู่ใน Action #3 มาลบออกด้วยหนึ่ง ซึ่งก็จะได้เป็นบรรทัดสุดท้ายที่มีชื่อหุ้นอยู่นั่นเอง

Action #4
ActionRead from excel worksheet
Excel instance%ExcelInstance%
RetrieveValues from a range of cells
Start columnA
Start row%CurrentExcelRow%
End columnA
End row%FirstFreeRowOnColumn – 1%
Variable producedExcelData

Action #5: For each – ในขั้นตอนนี้ให้เราทำการวนลูปอ่านรายการหุ้นทั้งหมดที่เราได้จากขั้นตอนที่แล้วมาประมวลผลทีละตัว

Action #5
ActionFor each
Value to iterate%ExcelData%
Store intoExcelRow

จาก 5 ขั้นตอนแรกเราได้เตรียมการรับ Input รายการหุ้นจาก Excel แล้ว หากเราหยุดแล้วลองรัน Flow จะเห็นว่า Flow ทำการรันอ่านค่าชื่อหุ้นทั้งหมดมารอประมวลผล ซึ่งในบทความตอนต่อไปจากนี้เราจะมาดูวิธีการประมวลผลหุ้นแต่ละตัวกันว่ามีขั้นตอนอย่างไรบ้าง

Leave a Comment