Page 1 of 1
มี 6 คำถามครับ ในกระทู้นี้ เกี่ยวกับ ตารางบันทึกหุ้น
Posted: Tue Dec 02, 2014 8:25 pm
by tong.rs52
ผมกำลังศึกษา การเล่นหุ้นอยู่ครับ แล้วก็อยากทำบันทึกเกี่ยวกับการ ซื้อ-ขาย หุ้น ครับ
ตอนนี้ได้สร้างไฟล์ excel มาแล้ว แล้วก็ใส่ฟังก์ชัน ไปบางส่วน (เท่าที่ทำได้) ครับ
เลยส่งคำถามมาให้อาจารย์ช่วยเหลือครับ
คำถาม
ทั้งไฟล์
1. ทำอย่างไรให้แก้ไขได้เฉพาะช่องที่เราต้องการ เช่น แท็บข้อมูลส่วนตัว cell A2, A4, A5, C5 และหัวข้ออื่นๆ
แท็บข้อมูลส่วนตัว
2. ทำอย่างไรให้คลิกที่ cell B5, D5 แล้วสามารถเลือกวันที่ โดยมีปฏิทินขึ้นมาให้คลิก
แท็บบันทึกการซื้อขายหุ้นประจำวัน
3. ทำอย่างไรให้ column ซื้อ/ขาย/ได้ปันผล เลือกแบบ drop down list ได้เท่านั้น (column B)
4. ทำอย่างไรให้ insert row ใหม่ได้ แต่ format ในแต่ละ cell ยังคงอยู่ (ตัวอย่าง insert row 12 แต่ format จาก row 1-11 หายไป) และใน cell H13-J13 สามารถคำนวณ สูตร row 12 ได้ทันทีโดยไม่ต้องแก้ไข (จากตัวอย่าง เมื่อ insert row 12 แล้ว cell H13 สูตรยังเป็น =SUM(H5:H11) อยู่)
แท็บสรุปหุ้นในพอร์ตรายตัว
5. สามารถดึงข้อมูลจากตาราง "บันทึกการซื้อขายหุ้นประจำวัน" โดยแยกตาม ชื่อย่อหุ้น (column C) ได้หรือไม่ อย่างไร
หรือหากทำไม่ได้ ต้องพิมพ์ใหม่เองใน ตารางสรุปหุ้นในพอร์ตรายตัว
6. เมื่อกำหนด column B เป็นซื้อ/ขาย/ได้ปันผล (ด้วย drop down list) แล้ว
6.1 ซื้อ : ให้สามารถใส่จำนวนได้ใน column D, H ได้เท่านั้น
6.2 ขาย : ให้สามารถใส่จำนวนได้ใน column E, J ได้เท่านั้น
6.3 ได้ปันผล : สามารถดึงข้อมูลเงินปันผลจาก "แท็บบันทึกการซื้อขายหุ้นประจำวัน" โดยถูก cell ที่มีการปันผล
อาจารย์ช่วยตรวจฟังก์ชันบาง cell (เช่น column i, k) ให้ด้วยครับ มันซับซ้อน ถ้าแนะนำเป็น macro ก็ได้นะครับ แต่ผมไม่เคยใช้ macro เลย
ขอบคุณครับ
Re: มี 6 คำถามครับ ในกระทู้นี้
Posted: Tue Dec 02, 2014 8:27 pm
by tong.rs52
คำถามที่ 1 ครับ
Re: มี 6 คำถามครับ ในกระทู้นี้ เกี่ยวกับ ตารางบันทึกหุ้น
Posted: Tue Dec 02, 2014 8:29 pm
by tong.rs52
คำถามที่ 2
Re: มี 6 คำถามครับ ในกระทู้นี้ เกี่ยวกับ ตารางบันทึกหุ้น
Posted: Tue Dec 02, 2014 8:32 pm
by tong.rs52
คำถามที่ 3
Re: มี 6 คำถามครับ ในกระทู้นี้ เกี่ยวกับ ตารางบันทึกหุ้น
Posted: Tue Dec 02, 2014 8:34 pm
by tong.rs52
คำถามที่ 4
Re: มี 6 คำถามครับ ในกระทู้นี้ เกี่ยวกับ ตารางบันทึกหุ้น
Posted: Tue Dec 02, 2014 8:36 pm
by tong.rs52
คำถามที่ 5
Re: มี 6 คำถามครับ ในกระทู้นี้ เกี่ยวกับ ตารางบันทึกหุ้น
Posted: Tue Dec 02, 2014 8:37 pm
by tong.rs52
คำถามที่ 6
Re: มี 6 คำถามครับ ในกระทู้นี้ เกี่ยวกับ ตารางบันทึกหุ้น
Posted: Tue Dec 02, 2014 9:56 pm
by snasui

ควรถามและแก้ไขให้ได้ทีละปัญหา เพราะบางปัญหาอาจจะถามตอบกันหลายรอบ ค่อย ๆ ถามตอบกันไปครับ
tong.rs52 wrote:1. ทำอย่างไรให้แก้ไขได้เฉพาะช่องที่เราต้องการ เช่น แท็บข้อมูลส่วนตัว cell A2, A4, A5, C5 และหัวข้ออื่นๆ
ใหใช้การ Protect Sheet เข้ามาช่วย จากตัวอย่างนี้ เลือกเซลล์ A2, A4, A5, C5 และหัวข้ออื่นๆ > คลิกขวา > Format Cells > เลือก Tab Protect > ปลดเครื่องหมายที่ Locked > OK > คลิกขวาที่ Tab Sheet > Protect Sheet > กรอก Password (หากต้องการ)
tong.rs52 wrote:2. ทำอย่างไรให้คลิกที่ cell B5, D5 แล้วสามารถเลือกวันที่ โดยมีปฏิทินขึ้นมาให้คลิก
การทำเช่นนี้ต้องอาศัย VBA ให้เขียนมาก่อนตามกฎการใช้บอร์ดข้อ 5 ด้านบน

ติดตรงไหนค่อยถามกันต่อได้เท่าที่ต้องการ
tong.rs52 wrote:3. ทำอย่างไรให้ column ซื้อ/ขาย/ได้ปันผล เลือกแบบ drop down list ได้เท่านั้น (column B)
คลิกเลือกเซลล์ที่ต้องการ > เข้าเมนู Data > Data Validation > Data Validation > ตรง Allow เลือก List > ตรง Source: เลือก Range Name ที่ให้ไว้หรือกรอกข้อมูลตามต้องการ
tong.rs52 wrote:4. ทำอย่างไรให้ insert row ใหม่ได้ แต่ format ในแต่ละ cell ยังคงอยู่ (ตัวอย่าง insert row 12 แต่ format จาก row 1-11 หายไป) และใน cell H13-J13 สามารถคำนวณ สูตร row 12 ได้ทันทีโดยไม่ต้องแก้ไข (จากตัวอย่าง เมื่อ insert row 12 แล้ว cell H13 สูตรยังเป็น =SUM(H5:H11) อยู่)
การ Insert Row ปกติ Format จะยังคงอยู่ ที่ผมทดสอบก็ไม่พบว่า Format หายไปแต่อย่างใดครับ
tong.rs52 wrote:5. สามารถดึงข้อมูลจากตาราง "บันทึกการซื้อขายหุ้นประจำวัน" โดยแยกตาม ชื่อย่อหุ้น (column C) ได้หรือไม่ อย่างไร
สามารถดึงได้ ไม่ทราบว่าดึงค่าใดมาบ้าง ดึงไปไว้ที่ไหน ยกตัวอย่างคำตอบที่ต้องการมาด้วยครับ
tong.rs52 wrote:6. เมื่อกำหนด column B เป็นซื้อ/ขาย/ได้ปันผล (ด้วย drop down list) แล้ว
6.1 ซื้อ : ให้สามารถใส่จำนวนได้ใน column D, H ได้เท่านั้น
6.2 ขาย : ให้สามารถใส่จำนวนได้ใน column E, J ได้เท่านั้น
6.3 ได้ปันผล : สามารถดึงข้อมูลเงินปันผลจาก "แท็บบันทึกการซื้อขายหุ้นประจำวัน" โดยถูก cell ที่มีการปันผล
ข้อนี้ขอคิดเร็ว ๆ ว่าให้ตรวจจับการเปลียนแปลงข้อมูลแล้วตรวจจับการคีย์ค่าในคอลัมน์ D, E, H, J หากเป็นเช่นนั้นต้องใช้ VBA ซึ่งต้องเขียนมาเองก่อนตามกฎการใช้บอร์ดข้อ 5 ด้านบนครับ
Re: มี 6 คำถามครับ ในกระทู้นี้ เกี่ยวกับ ตารางบันทึกหุ้น
Posted: Wed Dec 03, 2014 9:37 am
by tong.rs52
ขอบคุณอาจารย์ครับ ขออนุญาตกลับไปเขียน VBA ก่อนครับ หากติดขัดอย่างไรจะมาขอคำปรึกษาอีกครับ
Re: มี 6 คำถามครับ ในกระทู้นี้ เกี่ยวกับ ตารางบันทึกหุ้น
Posted: Wed Dec 03, 2014 8:58 pm
by tong.rs52
จากคำถามข้อที่ 5. ครับ แก้ไขคำถามเป็น
ผมต้องการดึงข้อมูลจากตาราง "บันทึกการซื้อขายหุ้นประจำวัน" column C (ชื่อย่อหุ้น) เช่น ดึงข้อมูลจาก cell C5, C8, C10, C11 = "AAA" ไปไว้ที่ตาราง "สรุปหุ้นในพอร์ตรายตัว" cell B2, ดึงข้อมูลจาก cell C7, C9 = "CCC" ไปไว้ที่ตาราง "สรุปหุ้นในพอร์ตรายตัว" cell B24 เป็นต้น
โดยในอนาคตต้องมีการเปลี่ยนแปลงข้อมูลใน column C (ชื่อย่อหุ้น) ซึ่งอาจมีค่า "AAA", "CCC" ซ้ำกันเพิ่มเติม
และในตาราง "สรุปหุ้นในพอร์ตรายตัว" ก็มีการเพิ่มข้อมูลด้วยเช่นเดียวกัน (เนื่องจากข้อมูลสัมพันธ์กัน) และถ้ามีการเพิ่มข้อมูลของหุ้น "AAA" ก็จะทำให้ ข้อมูลในตารางเลื่อนลงไปครั้งละ 1 row จะมีผลให้ ข้อมูลของหุ้น "CCC" คลาดเคลื่อนจากเดิมหรือไม่ครับ
หมายเหตุ ตอนนี้ผมยังไม่สามารถ ทำให้ไฟล์ดึงข้อมูลเองได้อัตโนมัติ จึงใช้การพิมพ์ลงไปเองก่อนครับ ทั้งนี้ได้ส่งไฟล์ที่แก้ไขแล้วมาให้เปรียบเทียบครับ
Re: มี 6 คำถามครับ ในกระทู้นี้ เกี่ยวกับ ตารางบันทึกหุ้น
Posted: Wed Dec 03, 2014 11:56 pm
by snasui

ลองตามนี้ครับ
- เซลล์ B2 ให้ทำการยกเลิกการ Merge Cell
- คีย์สูตรในเซลล์ B2 เป็นด้านล่าง
Code: Select all
=IFERROR(INDEX(บันทึกการซื้อขายหุ้นประจำวัน!$C$5:$C$1000,SMALL(IF(FREQUENCY(MATCH("~"&บันทึกการซื้อขายหุ้นประจำวัน!$C$5:$C$1000,บันทึกการซื้อขายหุ้นประจำวัน!$C$5:$C$1000&"",0),ROW(บันทึกการซื้อขายหุ้นประจำวัน!$C$5:$C$1000)-ROW(บันทึกการซื้อขายหุ้นประจำวัน!$C$5)+1),ROW(บันทึกการซื้อขายหุ้นประจำวัน!$C$5:$C$1000)-ROW(บันทึกการซื้อขายหุ้นประจำวัน!$C$5)+1),COUNTIF(A$2:A2,A2))),"")
Ctrl+Shift+Enter
- ทำการ Merge Cell แล้ว Copy ไปยังเซลล์อื่น ๆ ที่เกียวข้อง กรณีแก้ไขสูตรให้ยกเลิกการ Merge cell ก่อนเสมอ
tong.rs52 wrote:ในตาราง "สรุปหุ้นในพอร์ตรายตัว" ก็มีการเพิ่มข้อมูลด้วยเช่นเดียวกัน (เนื่องจากข้อมูลสัมพันธ์กัน) และถ้ามีการเพิ่มข้อมูลของหุ้น "AAA" ก็จะทำให้ ข้อมูลในตารางเลื่อนลงไปครั้งละ 1 row จะมีผลให้ ข้อมูลของหุ้น "CCC" คลาดเคลื่อนจากเดิมหรือไม่ครับ
สูตรที่เขียนด้านบน

ไม่กระทบกับการเพิ่มลดบรรทัดของชีท "สรุปหุ้นในพอร์ตรายตัว" ครับ
!
| Note: Ctrl+Shift+Enter หมายถึง
- กรณีคีย์สูตรเอง เมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น Ctrl+Shift ค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array
- กรณี Copy สูตรไปวางให้กดแป้น F2 เพื่อทำการ Edit Cell นั้นก่อน จากนั้นกดแป้น Ctrl+Shift ค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array
- หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(...)} ปีกกานี้คีย์เข้าไปเองไม่ได้ ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง
- การแก้ไขเปลี่ยนแปลงสูตร Array จะต้องกดแป้นให้รับสูตรด้วย Ctrl+Shift+Enter ทุกครั้ง
|