snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
SerIZax
Member
Posts: 56 Joined: Tue Dec 26, 2017 12:05 pm
#1
Post
by SerIZax » Wed Jul 26, 2023 10:19 am
คือผมมีข้อมูล Excel ย้อนหลังจากกองทุนหุ้นต่างประเทศอยู่ครับ
เป็นวันที่ซื้อขาย ราคาปิดเปิด ของแต่ละวัน ประมาณ 10 ปีย้อนหลังครับ
โดยผมอยากทราบว่า ถ้าผมอยากรู้ข้อมูลย้อนหลัง ตามเงื่อนไขที่ใส่จะใช้สูตรอะไรครับ
C14 = ผมใช้ INDEX+MATCH เพื่อดึงข้อมูลจากช่อง E5 (วันที่ซื้อล่าสุด) โดยถ้าไม่มี ให้เป็นวันก่อนหน้า อันนี้ผมทำได้แล้วครับ
C15 = ผมอยากให้ข้อมูลวันนี้ตามเงื่อนไขของช่อง C5 ครับ คือซื้อทุกวันที่ 31 ของทุกเดือน แต่ถ้าไม่มีให้ระบุเป็นวันก่อนหน้าครับ
รวมถึงตั้งแต่ช่อง C15:C(X).. อยากให้แสดงจำนวนวันที่ทั้งหมดที่ซื้อโดยอิงจากช่อง F5-H5 ครับ ยกตัวอย่างตาม Excel
ใช้ 5 ปี 0 เดือน 0 วัน = วันที่ซื้อทุกวันที่ 31 ของเดือน ถ้าไม่มีให้ใช้วันก่อนหน้า ย้อนหลัง 5 ปี แบบนี้ครับ
D14 = ราคาที่ซื้อให้อิงข้อมูลจากวันที่ในช่อง C(X) รวมถึงช่อง D5 ว่าจะใช้ราคา Open High Low Close ด้วยครับ
ขอบคุณสำหรับคำตอบนะครับ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#2
Post
by snasui » Wed Jul 26, 2023 5:59 pm
ตัวอย่าง สูตรตามด้านล่างครับ
ที่ C14 คีย์
=IF(ROWS(C$14:C14)=1,INDEX(SYI.AX!$B:$B,MATCH(Test!$E$5,SYI.AX!$B:$B,1),0),LOOKUP(2,1/((SYI.AX!$B$2:$B$30000<>"")*(SYI.AX!$B$2:$B$30000<=EOMONTH(C13,-1))),SYI.AX!$B$2:$B$30000))
Enter > Copy ลงด้านล่าง
ที่ D14 คีย์
=IF($C14="","",VLOOKUP($C14,SYI.AX!$B$2:$C$30000,2,0))
Enter > Copy ลงด้านล่าง > ปรับใช้กับคอลัมน์อื่น ๆ ที่เหลือ
ที่ E7 คีย์สูตรเพื่อหาว่าวันที่ย้อนหลังเป็นค่าเท่าใด
=EDATE(E5,-F5*12-G5)-H5
Enter
ที่ J14 คีย์สูตรว่าบรรทัดนั้น ๆ เข้าเงื่อนไขข้อ 3 คือไม่เกินขอบเขตวันที่ย้อนหลังใช่หรือไม่
=C14>=$E$7
Enter > Copy ลงด้านล่าง
SerIZax
Member
Posts: 56 Joined: Tue Dec 26, 2017 12:05 pm
#3
Post
by SerIZax » Wed Jul 26, 2023 8:53 pm
อีกนิดนึงครับอาจารย์
อยากให้ช่อง D14 อ้างอิงข้อมูลจากช่อง D5 ด้วยครับ
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#4
Post
by snasui » Wed Jul 26, 2023 8:58 pm
กรุณาแนบไฟล์ที่ Update ล่าสุด ชี้ให้เห็นว่าปัญหาคืออะไร คำตอบที่ต้องการเป็นเท่าใด จะได้เข้าใจตรงกันครับ