Page 1 of 1
วิธีสร้างกราฟเต็มหน้าตามจำนวนข้อมูลที่มีในฟอร์มที่กำหนด
Posted: Fri Nov 08, 2019 3:18 pm
by nakhonchai
สวัสดีครับอาจารย์ และพี่ๆทุกท่าน
ผมต้องการสร้างฟอร์มบันทึกข้อมูล ซึ่งจะเป็นไฟล์ต้นฉบับจะใส่บันทึกค่าได้ 10 แถว
บางครั้งข้อมูลที่ได้มาจะได้ไม่เท่ากัน ตามตัวอย่างที่ sheet1, sheet2 และ sheet3
ผมต้องการให้กราฟ ของ sheet2 และ sheet3 ขึ้นแบบเต็มหน้าแบบ sheet1 โดยไม่ต้องแก้ไข
ต้องเขียนสูตรอย่างไร หรือมีวิธีการทำอย่างไรบ้างครับ
รบกวนอาจารย์ และพี่ๆทุกท่าน ช่วยให้คำแนะนำหน่อยครับ
ขอบคุณมากครับ
Re: วิธีสร้างกราฟเต็มหน้าตามจำนวนข้อมูลที่มีในฟอร์มที่กำหนด
Posted: Fri Nov 08, 2019 7:40 pm
by snasui

อธิบายคำว่าขึ้นเต็มหน้ามาอีกรอบครับ
กราฟจะแสดงข้อมูลได้ต่อเมื่อมีข้อมูล การไม่มีข้อมูลแล้วให้ขึ้นแท่งกราฟย่อมไม่เป็นประโยชน์เพราะจะทำให้สื่อสารผิดพลาดได้ครับ
Re: วิธีสร้างกราฟเต็มหน้าตามจำนวนข้อมูลที่มีในฟอร์มที่กำหนด
Posted: Sat Nov 09, 2019 7:23 am
by nakhonchai
สวัสดีครับอาจารย์
ลักษณะของกราฟที่ว่าเต็มหน้าคือ เมื่อข้อมูลในฟอร์มที่กำหนด 10 แถวบางครั้งข้อมูลมีแค่ 4 บ้าง 8 บ้าง
ต้องการให้กราฟขึ้นเต็มสเกลในกรอบของกราฟน่ะครับ
แบบตัวอย่างไฟล์ที่แนบบนี้น่ะครับ
แต่ไฟล์นี้เป็นแบบใช้เพียง Sheet เดียว แต่ที่ผมต้องการทำคือมีหลาย Sheet ใน 1 ไฟล์ครับ
#ขออภัยอาจใช้ศัพท์ไม่ถูกต้องครับ
Re: วิธีสร้างกราฟเต็มหน้าตามจำนวนข้อมูลที่มีในฟอร์มที่กำหนด
Posted: Sat Nov 09, 2019 7:50 am
by snasui

การทำเช่นนั้นต้องอาศัย Range Name มาช่วยครับ
ด้านล่างนี้คือวิธีการจากเมนูของ Excel 2010 โดยสร้างกราฟที่ Sheet2 ลำดับคือ
- เข้าเมนู Formula > Name Manager > New
- ในช่อง Name คีย์คำว่า
Data > ที่ช่อง Reference to: คีย์สูตร =OFFSET(Sheet2!$D$3,0,0,COUNTA(Sheet2!$D:$D),2) > OK > Close
- คลิกขวาที่กราฟ > Select Data > ช่อง Chart data range: คีย์
Data
Re: วิธีสร้างกราฟเต็มหน้าตามจำนวนข้อมูลที่มีในฟอร์มที่กำหนด
Posted: Sat Nov 09, 2019 1:21 pm
by nakhonchai
สวัสดีครับอาจาย์
ผมลองทำตัวอย่างมา รบกวนอาจารย์ช่วยดูให้หน่อยครับ
- มี 3 Sheet คือ AAA, BBB, CCC
- ทั้ง 3 Sheet ผมกำหนดให้ใส่ข้อมูล ที่ช่องสีเหลือง ซึ่งมาครั้งขัอมูลที่รับมา จะได้ไม่เท่ากัน แต่อยู่ในกรอบที่กำหนด
- เวลาทำกราฟ ผมจะใช้ข้อมูลจากช่องสีเหลือง ทั้ง 2 ช่อง และ ช่อง Column " i "
- ชื่อไฟล์ที่ใช้บันทึกจะกำหนดแบบตัวเลขและเดือน เช่น " 09.SEP " ตามไฟล์ตัวอย่างที่แนบมาครับ
ปัญหาคือ ต้องการให้กราฟแสดงในส่วนที่มีข้อมูลเท่านั้นในแต่ละ Sheet ครับ
เช่น Sheet AAA มีข้อมูลอยู่ 11 ข้อมูลให้แสดงกราฟแค่ 11 ข้อมูล และเมื่อเพิ่มข้อมูลในแถวที่ 12, 13 ให้กราฟแสดงอัตฺโนมัติครับ
ลองทำแบบ Dynamic ถ้า Sheet เดียวพอทำได้อยู่ แต่พอทำหลายๆ Sheet ทำไม่ได้ครับ มันไม่ทำงาน
รบกวนอาจารย์ช่วยแนะนำด้วยครับ
#ขอบคุณมากครับ
Re: วิธีสร้างกราฟเต็มหน้าตามจำนวนข้อมูลที่มีในฟอร์มที่กำหนด
Posted: Sat Nov 09, 2019 1:38 pm
by snasui
ปรับ Range Name ในชีต AAA เป็นด้านล่างครับ
- CUM ตรง Refers to: แก้เป็น
=OFFSET(AAA!$I$15,,,COUNT(AAA!$I:$I),1)
- Data ตรง Refers to: แก้เป็น
=OFFSET(AAA!$B$15,0,0,COUNT(AAA!$I:$I),1)
- NG ตรง Refers to: แก้เป็น
=OFFSET(AAA!$C$15,,,COUNT(AAA!$I:$I),1)
- คลิกขวาในกราฟ > Select Data > คลิก NG RATE > คลิกปุ่ม EDIT > ตรง Series Value แก้เป็น
='09.SEP.xlsx'!CUM
ชีตที่เหลือก็ปรับในลักษณะเดียวกัน
Re: วิธีสร้างกราฟเต็มหน้าตามจำนวนข้อมูลที่มีในฟอร์มที่กำหนด
Posted: Sat Nov 09, 2019 2:43 pm
by nakhonchai
4. คลิกขวาในกราฟ > Select Data > คลิก NG RATE > คลิกปุ่ม EDIT > ตรง Series Value แก้เป็น ='09.SEP.xlsx'!CUM
ขอบคุณมากครับอาจารย์ ได้แล้วครับ
จากที่อาจารย์แนะนำมาข้อ 4 กราฟขยับที่ Sheet AAA เท่านั้น ผมเลยลองแก้ในส่วนของกราฟตามนี้ครับไม่งั้น กราฟไม่ขยับให้ครับ
รบกวนอาจารย์ช่วยดูให้ด้วยครับ
ตรง AXIS LABELS =ชื่อSheet!DATA
ตรง NG Good =ชื่อSheet!NG
ตรง NG RATE =ชื่อSheet!CUM
#ขอบคุณอาจารย์มากครับ
Re: วิธีสร้างกราฟเต็มหน้าตามจำนวนข้อมูลที่มีในฟอร์มที่กำหนด
Posted: Sat Nov 09, 2019 6:50 pm
by snasui

ต้องปรับ Range Name ทุกตัวที่ใช้ทำกราฟแต่ละกราฟ เท่าที่ผมเปิดดูก็ได้ทำครบถ้วนแล้ว
หากยังติดปัญหาใดรบกวนแจ้งมาอีกรอบครับ
การที่ต้องใส่ชื่อชีตข้างหน้าของ Range Name ในการทำกราฟเพราะว่าเป็นการเขียน Range Name ระดับ Worksheet
Range Name มี 2 ระดับคือ Workbook และ Worksheet ครับ เขียนไว้ระดับ Workbook ก็ไม่จำเป็นต้องนำหน้าด้วยชื่อชีตครับ