Page 1 of 2

โปรแกรมคำนวณเกมส์ปังย่า

Posted: Tue May 22, 2012 2:06 am
by ธนาธิป
คือผมได้ลองทำโปรแกรมทำคำนวณมาตัวหนึ่งซึ่งมันเป็นเกมส์ปังย่าครับ ตานี้มันติดอยู่ตรงที่ว่า
โจทย์คือ เวลาเราคำนวณหาระยะการตีเรียบร้อยแล้ว มันจะเหลือแรงตีอ่ะครับซึ่งแรงตีจะมี 2 แบบคือดูที่ 1.ความสูงของหลุมแล้วเราก็มาดูลมว่าเป็นลมส่งหรือลมต้าน 2.ดูความต่ำของหลุมแล้วเราก็มาดูว่าเป็นลมส่งหรือลมต้าน ปัญหาตอนนี้คืออยากให้มันคำนวณแล้วดูข้อแม้ว่า EX. เช่น ระยะธง224 หลุมสูง3.10 ความแรงลม5ต้าน องศา45 สมมุติว่าช่องในการตีได้มา 3ช่อง แต่ปัญหาคือแรงตีต้องเอา 224หลุมสูงให้เอาไปบวก3.10ลมต้าน5ให้บวก จะได้ 224+3.10+5=แรงตีหลุมสูงลมต้าน 232.1 แต่Excel มันไม่มีสูตรที่จะคิดได้ว่า นี่คือหลุมสูงต่ำ ลมส่งหรือต้าน มันไม่สามารถเลือกคำตอบออกมาได้คำตอบเดียวอ่ะครับ คือที่ผมทำอยู่มันต้องทำคำตอบทั้งหมดคือ 1ความสูงหลุมมีทั้งลมต้านและส่ง 2ความต่ำหลุมลมต้านและส่ง แล้วก็เลือกเอาว่าอันไหนแล้วตี ให้สูตร vlookup ก็ไมได้ สูตร iF ก้ไม่ได้ อยากถามกูรูว่ามีสูตรที่จะผสมให้มันมีสมองแก้โจทแบบนี้ได้ไหม หรือมีวิธีอื่นให้เลือกไหม ยาวหน่อยนะครับเรียบเรียงคำถามไม่ถูกเท่าไรครับ ขอบคุณมากครับ

Re: โปรแกรมคำนวณเกมส์ปังย่า

Posted: Tue May 22, 2012 6:38 am
by snasui
:D ช่วยตั้งชื่อกระทู้ให้สื่อถึงเรื่องที่จะถามด้วย ซึ่งผมได้แก้ไขให้แล้ว ในการตั้งและตอบคำถามงดใช้ภาษาแชทครับ นอกจากนี้ช่วยแบ่งวรรคตอนในคำถามให้สะดวกในการอ่านของเพื่อน ๆ ด้วยครับ ด้านล่างนี้เป็นการแบ่งวรรคตอนใหม่
ธนาธิป wrote:โจทย์คือ เวลาเราคำนวณหาระยะการตีเรียบร้อยแล้ว มันจะเหลือแรงตีอ่ะครับซึ่งแรงตีจะมี 2 แบบคือดูที่

1. ความสูงของหลุมแล้วเราก็มาดูลมว่าเป็นลมส่งหรือลมต้าน
2. ดูความต่ำของหลุมแล้วเราก็มาดูว่าเป็นลมส่งหรือลมต้าน

ปัญหาตอนนี้คืออยากให้มันคำนวณแล้วดูข้อแม้ว่า EX. เช่น ระยะธง 224 หลุมสูง 3.10 ความแรงลม 5 ต้าน องศา 45

สมมุติว่าช่องในการตีได้มา 3 ช่อง แต่ปัญหาคือแรงตีต้องเอา 224 หลุมสูงให้เอาไปบวก 3.10 ลมต้าน 5 ให้บวก จะได้ 224+3.10+5 = แรงตีหลุมสูงลมต้าน 232.1 แต่ Excel มันไม่มีสูตรที่จะคิดได้ว่า นี่คือหลุมสูงต่ำ ลมส่งหรือต้าน มันไม่สามารถเลือกคำตอบออกมาได้คำตอบเดียวครับ

คือที่ผมทำอยู่มันต้องทำคำตอบทั้งหมดคือ

1. ความสูงหลุมมีทั้งลมต้านและส่ง
2. ความต่ำหลุมลมต้านและส่ง

แล้วก็เลือกเอาว่าอันไหนแล้วตี ให้สูตร vlookup ก็ไมได้ สูตร iF ก้ไม่ได้ อยากถามกูรูว่ามีสูตรที่จะผสมให้มันมีสมองแก้โจทแบบนี้ได้ไหม หรือมีวิธีอื่นให้เลือกไหม
เท่าที่อ่านมายังไม่เห็นว่ามีการเขียนสูตรไว้ลักษณะใด ช่วยแนบไฟล์ ยกตัวอย่างปัญหาและคำตอบที่ต้องการมาด้วยจะได้ช่วยคำนวณได้ครับ

Re: โปรแกรมคำนวณเกมส์ปังย่า

Posted: Tue May 22, 2012 10:01 am
by ChoBkuN
น่าสนใจ ขอดูบ้างครับ (เคยเล่นเมื่อ 8 ปีที่แล้ว แต่เล่นไม่เป็น ตีไม่เคยลง)

Re: โปรแกรมคำนวณเกมส์ปังย่า

Posted: Tue May 22, 2012 10:48 pm
by ธนาธิป
ต้องขอโทษด้วยนะครับ เรื่องการพิมพ์ ต้องยอมรับว่ายังติดภาษาวิบัติอยู่ แต่จะปรับปรุงด่วนนะครับ ส่วนเรื่องแนบไฟล์ กำลังทำให้พี่ ๆ เข้าใจง่ายขึ้นรอสักครู่นะครับ

Re: โปรแกรมคำนวณเกมส์ปังย่า

Posted: Wed May 23, 2012 12:06 am
by ธนาธิป
ไฟล์ที่แนบไปให้ชื่อ โปรแกรมปังย่า ในสมุดงานนี้มฃจะมี 4 sheet อันที่1ชื่อ โปรแกรมคำนวณ ให้ดูที่ตารางที่ชื่อว่า สูตรคำนวณหา PB TomaHawk สูตรคิดไว้แล้วทุกอย่างครับ เมื่อใส่ค่าตาม cell ที่กำหนดคือ ระยะธง,แรงลม,องศาลม,ความสูงของหลุม มันก็จะคำนวณตามสูตรที่ผมทำไว้ที่ sheet สมอง,ส่วน(หลุมสูง0/หลุมต่ำ1)เราต้องเลือกว่าหลุมที่เรากำลังเล่นอยู่นั้นเป็นหลุมสูงหรือต่ำ แต่ในไฟล์ที่แนบไปคือ สูง นะครับ และ Cell (หลุมสูง0/หลุมต่ำ1)นี้ ผมได้นำไปเชื่อมกับคำตอบหา PB ความสูงต่ำของหลุมแล้ว พี่ลองเลือกดูครับว่าเมื่อเวลาเราเปลี่ยนเป็นหลุมต่ำ คำตอบ PB ก็จะเปลี่ยนครับ ตัวนี้ไม่มีปัญหานะครับ แค่ยกมาให้พี่ๆ เข้าใจคร่าวๆ ในตารางนี้ก่อน (ส่วนเรื่องสูตรคำนวณไปดูได้ที่ sheet ที่ชื่อว่าสมองครับ)

มาในส่วนที่ผมคิดไม่ตกครับ คือช่อง cell ในการหาแรงตีสีแดงครับ คือผมอยากให้ cell D7 ให้ไปอิง กับ cell F4 คือ (หลุมสูง0/หลุมต่ำ1) เมื่อเราเลือกหลุมสูง ให้ไปอ้างอิงตารางที่ผมทำขึ้นคือ sheet ที่ชื่อ Ex จะมีตารางชื่อว่า หลุมสูง กับ หลุมต่ำ แล้วจะทำยังไงให้สามารถให้ cell D7 รู้ว่า หลุมสูงนี้แล้วเป็นลม ต้านหรือส่งครับ

ตอนแรกที่ทำผมทำเป็น cell list แล้วเลือกเอาแต่ปัญหาคือ มันช้ามากต้องมาเลือกแล้วก็ลายตามาก
*ปัญหาของผมนี้อาจจะง่ายมากหรืออาจจะไม่มีสูตรหรืออาจจะไม่ตรงกับ Excel ก็ได้ ยังไงก็อยากให้พี่ๆ แนะนำให้หน่อยนะครับ แนะนำทั้ง เรื่องการทำตารางมันผิดหลักไหม หรือสูตรที่มันหน้าจะดีกว่าที่ผมใช้อยู่ หรืออะไรก็ได้ครับ อีกอย่างคือ คือ VBA นี้มันต่อยอดเหมือนกับโปรแกรมที่เราสร้างขึ้นเป็น .exe ใช่หรือป่าวครับ

ปล.ต้องออกตัวก่อนครับว่าผมไม่เคยใช้ Excel นานมากแล้ว พอดีเล่นเกมส์นี้มันต้องใช้ตารางบวกกับเครื่องคิดเลขแล้วลาเล่นมันช้าครับตีไม่ทันเค้า อิอิ ก็เลยลองทำใน Excel ดูแล้วก็หาข้อมูลตาม google และ youtube แต่ก็ยังไม่ได้เรื่องคับ :tt: (พิมพ์ยาวมากต้องขอโทษนะครับ รบกวนพี่ๆ นะครับ ถ้ายังไงไม่สามารถทำได้ก็ไม่เป็นอะไรครับ ขอบคุณครับสำหรับคำแนะนำ)

http://www.4shared.com/file/shgab-6k/_online.html ต้องขอโทษนะครับไฟล์มันใหญ่ครับผมเลย ต้องรบกวนให้พี่โหลดตามลิงค์นะครับ

Re: โปรแกรมคำนวณเกมส์ปังย่า

Posted: Wed May 23, 2012 7:57 pm
by snasui
:o ผมไม่สามารถดาวน์โหลดได้เนื่องจากต้องเป็นสมาชิก 4share ก่อนครับ

Re: โปรแกรมคำนวณเกมส์ปังย่า

Posted: Wed May 23, 2012 8:02 pm
by bank9597
:lol: ต้องสมัครแล้วล่ะครับ งานนี้

Re: โปรแกรมคำนวณเกมส์ปังย่า

Posted: Wed May 23, 2012 9:20 pm
by ธนาธิป
อันนี้ครับ http://file2.uploadfile.biz/i/MXEDMEIMMMIZID
หรือ <a href="http://file2.uploadfile.biz/i/MXEDMEIMMMIZID" target="_blank">Download คลิกที่นี่</a>
หรือ Download คลิกที่นี่

Re: โปรแกรมคำนวณเกมส์ปังย่า

Posted: Wed May 23, 2012 10:01 pm
by snasui
:D
ธนาธิป wrote:มาในส่วนที่ผมคิดไม่ตกครับ คือช่อง cell ในการหาแรงตีสีแดงครับ คือผมอยากให้ cell D7 ให้ไปอิง กับ cell F4 คือ (หลุมสูง0/หลุมต่ำ1) เมื่อเราเลือกหลุมสูง ให้ไปอ้างอิงตารางที่ผมทำขึ้นคือ sheet ที่ชื่อ Ex จะมีตารางชื่อว่า หลุมสูง กับ หลุมต่ำ แล้วจะทำยังไงให้สามารถให้ cell D7 รู้ว่า หลุมสูงนี้แล้วเป็นลม ต้านหรือส่งครับ
เราต้องรู้ก่อนว่ามันมีปัจจัยใดเข้ามาให้พิจารณาว่าเลือกหลุมสูงแล้วต้องพิจารณาเงื่อนไขใดหรือเซลล์ใดอีกเพื่อให้ Excel หาว่าเป็นลมต้านหรือส่ง ถ้าเราตัดสินใจไม่ได้โปรแกรมก็ตัดสินใจไม่ได้เหมือนกันครับ :mrgreen:
ธนาธิป wrote:อีกอย่างคือ คือ VBA นี้มันต่อยอดเหมือนกับโปรแกรมที่เราสร้างขึ้นเป็น .exe ใช่หรือเปล่าครับ
จะกล่าวเช่นนั้นก็ได้ครับ VBA ที่ใช้กับ Excel คือการเขียน Program เพื่อควบคุมการทำงานของ Excel ครับ

Re: โปรแกรมคำนวณเกมส์ปังย่า

Posted: Wed May 23, 2012 11:04 pm
by ธนาธิป
ถ้าแบบนั้น ผมก็ต้องสร้าง Cell ที่ชื่อว่า ลมต้านลมส่ง แล้วกำหนด list เป็น แรงลมต้าน แรงลมส่ง ใช่ไหมครับ
ลองมาสมมุติคือ เมื่อเราใส่ค่าต่างๆที่ช่อง แล้วเลือกว่าเป็นหลุมสูง แล้วกำหนดลมว่าเป็นลมต้าน ตานี้เราก็จะได้คำตอบที่ช่องแรงตี เป็นคำตอบแรงตีหลุมสูงและแรงลมต้าน เท่านี้...ถูกไหมครับ
แต่ปัญหาที่เจอคือ
1.ที่ช่อง หลุมสูง0/หลุมต่ำ1 เมื่อผมได้ทำ list เป็น หลุมสูง/หลุมต่ำ กลับกลายเป็นว่ามันอ่านไม่ออกครับ แต่ผมลองใช่เป็นตัวแรกคือ 0=หลุมสูง 1=หลุมต่ำ ถึงอ่านได้ครับ (ใช้สูตร vlookup นะครับ) ตานี้อยากถามว่าผมทำอะไรผิดหรือป่าวหรือว่าต้องใช้เป็นภาษา ENG หรือ ตัวเลขเท่านั้นหรือป่าว มันขึ้น #NAME?
2.เมื่อทำช่อง ลมต้าน/ลมส่ง ที่ Cell G4 ใช้สูตร =hlooup(ความสูงต่ำหลุม,EX!B2:E3,2) แต่พอทำเสร็จแล้ว มันก็ขึ้น #NAME ซึ่งในตารางผมได้ทำตารางมาใหม่ ใช่ห้วข้อ หลุมสูง/หลุมต่ำเป็น 0/1 ส่วนลมต้าน/ลมส่งเป็น 1/2 มันก็จะเป็น 0=หลุมสูง ลมต้าน=1 ลมส่ง=2 1=หลุมต่ำ ลมต้าน=1 ลมส่ง=2 ไม่รู้จะนึกภาพออกหรือป่าวนะครับ ไม่รู้ว่าผมทำผิดอะไร แนะนำทีครับ

Re: โปรแกรมคำนวณเกมส์ปังย่า

Posted: Wed May 23, 2012 11:13 pm
by snasui
:lol: เป็นที่น่าแปลกว่าผมได้ทำการแก้ไขโดยการแบ่งย่อหน้าข้อความที่คุณธนาธิปเขียนมาให้ดูเป็นตัวอย่างแล้ว แต่ยังพบว่าคุณธนาธิปยังเขียนข้อความติดกันเหมือนเช่นเดิม ซึ่งขาดความสะดวกในการอ่านครับ

ฟอรัมนี้สามารถที่จะทำการ Preview ดูก่อนได้ว่าข้อความที่เราเขียนนั้นแสดงเป็นเช่นไร สะดวกในการอ่านหรือไม่ ช่วยแก้ไขการโพสต์ข้อความด้วย ไม่เช่นนั้นคงจะหาผู้ตอบยากครับ

ไฟล์ที่เขียนมาที่จริงแล้วขนาดไฟล์เล็กมากแต่ที่มีขนาดใหญ่เพราะมี Object เป็นภาพแนบเข้ามาด้วย หากไม่เกี่ยวข้องให้ลบทิ้งไปก่อนแล้วแนบไฟล์มาในฟอรัมด้วยจะได้สะดวกในการตอบครับ

Re: โปรแกรมคำนวณเกมส์ปังย่า

Posted: Thu May 24, 2012 12:09 am
by ธนาธิป
ผมได้ลองทำการปรับเปลี่ยนแล้วครับ ผลที่ได้คือทำเป็น list เลือกยาวอยู่ดี

ปัญหาเด็กน้อยมาอีกแล้ว :rz:

1. Cell F4 เมื่อเลือก สูง ผลที่ Cell B7 แสดงถูกต้อง แต่เมื่อเลือก ต่ำ ผลที่ Cell B7 แสดงเป็น PB แสดงผิดครับ
ไม่ทราบว่าทำไมครับ ดูแล้วก็ไม่หน้าจะผิด ขอคำแนะนำครับ

2. จะทำยังไงให้เชื่อมกันกับ Cell F4 กับ Cell G4 คือ เมื่อเลิก Cell F4 ว่าเป็นสูง แล้วให้ Cell G4 แสดง List เป็น
ลมต้าน ลมส่ง ของ Cell F4 ครับ

หรือมีวิธีที่เข้าท่ากว่านี้กรุณาแนะนำหน่อยครับ

ส่วนที่พี่ติมาผมจะพยามแก้ไขให้ไม่พลาดอีกนะครับ (รู้สึกเกรงจัง :rz: ) เป็นผลของการที่เราเล่น FB BB ที่ทำให้ภาษาวิบัติ

Re: โปรแกรมคำนวณเกมส์ปังย่า

Posted: Thu May 24, 2012 12:11 am
by ธนาธิป
เมื่อกี้ลมแนบไฟล์ครับ

Re: โปรแกรมคำนวณเกมส์ปังย่า

Posted: Thu May 24, 2012 9:23 pm
by snasui
:D ลองตามด้านล่างครับ

ที่ชีทโปรแกรมคำนวณ
  1. เซลล์ B7 ปรับสูตรเดิมเป็น
    =VLOOKUP(ความสูงต่ำหลุม,ตารางแสดงผล,2,0)
    Enter
  2. เซลล์ D7 คีย์สูตร
    =SUMPRODUCT(--(ความสูงต่ำหลุม=EX!B2:E2),--(ลมต้านลมส่ง=EX!B3:E3),EX!B4:E4)
    Enter
  3. ที่ G4 ปรับ Validation ให้เลือกเพียง =EX!$B$3:$C$3

Re: โปรแกรมคำนวณเกมส์ปังย่า

Posted: Thu May 24, 2012 11:08 pm
by ธนาธิป
จากที่ให้ทำตามนั้นเป็นผลครับ

แต่จะไม่เห็นผลคือ =SUMPRODUCT(--(ความสูงของหลุม=EX!B2:E2),--(ลมต้านลมส่ง=EX!B3:E3),EX!B4:E4) ไม่แสดงผลครับ แสดงเป็น 0.0 ครับ

ไม่ทราบว่าผมพิมถูกหรือไม่ครับ

ต้องรบกวนอีกทีนะครับ

Re: โปรแกรมคำนวณเกมส์ปังย่า

Posted: Thu May 24, 2012 11:10 pm
by snasui
:lol: ด้วยเหตุใดไม่ทดสอบสูตรที่ผมเขียนไปให้ครับ :ard:
snasui wrote:=SUMPRODUCT(--(ความสูงต่ำหลุม=EX!B2:E2),--(ลมต้านลมส่ง=EX!B3:E3),EX!B4:E4)

Re: โปรแกรมคำนวณเกมส์ปังย่า

Posted: Thu May 24, 2012 11:17 pm
by ธนาธิป
:rz: พอพี่พูดแบบนี้ผมรู้สึกได้ถึงความไม่เรียนรู้เอาสะเลยครับ

พอให้ทำตามก็ทำตามจริงๆ (ขอบคุณครับที่สอนครับ ต้องพึ่งตัวเองให้มากกว่านี้ :D )

แต่จริงๆ แล้ว ผมไม่รู้เรื่องสูตรที่พี่แนะให้มาเลย แต่เดี๋ยวผมจะลองอ่านมาให้พี่ดูว่าผมเดาถูกหรือไม่

ทีหลังจะได้เข้าใจสูตรให้มากขึ้น

Re: โปรแกรมคำนวณเกมส์ปังย่า

Posted: Thu May 24, 2012 11:22 pm
by snasui
:D ผมแนบไฟล์ที่ได้ปรับแล้วมาให้ดูครับ สังเกตชีท EX ว่ามีการยกเลิกการ Merge เซลล์และเติมค่าสูงและต่ำให้เต็ม ส่วนคำแปล Sumproduct ดูที่นี่ครับ viewtopic.php?f=3&t=30

Re: โปรแกรมคำนวณเกมส์ปังย่า

Posted: Thu May 24, 2012 11:44 pm
by ธนาธิป
=SUMPRODUCT(--(ความสูงต่ำหลุม=EX!B2:E2),--(ลมต้านลมส่ง=EX!B3:E3),EX!B4:E4) อ่านจากที่ตัวโปรแกรมโชว์แล้วสรุปคือ

ส่งกลับของมูลจาก array (--(ความสูงต่ำหลุม=EX!B2:E2) (-- <<< ต้องนี้ไม่เข้าใจ ว่ามี -- ทำไมครับ

(ความสูงต่ำหลุม=EX!B2:E2) <<< เข้าใจได้ว่า Cell อ้างอิงอันนี้คือ สูง ต่ำ ที่ได้ทำตารางไว้

-- <<< ไม่เข้าใจครับ จำเป็นต้องมีไหม

(ลมต้านลมส่ง=EX!B3:E3) <<< เข้าใจได้ว่า Cell อ้างอิงอันนี้คือ ลมต้าน=B3:E3 ที่ได้ทำตารางไว้

EX!B4:E4) <<< เข้าใจได้ว่า Cell อ้างอิงอันนี้คือ แรงตีที่เรากำหนดให้เลือกตามที่อ้างอิงจาก
ความสูงต่ำหลุม เปรียบเทียบ ลมต้านลมส่ง ที่เราได้อ้างอิงตามวงเล็บไว้

ส่วน =VLOOKUP(ความสูงต่ำหลุม,ตารางแสดงผล,2,0) ตรงเลข 0 นี้ ผมลองเปลี่ยนเป็น FALSE มันก็แสดงผลเหมือน 0 ซึ่งมันคือค่าเดียวกันหรือป่าว :tt:

ส่วน =EX!$B$3:$C$3 ไม้เข้าใจว่าทำไมแค่ C$3 ทำไมไม่ E$ ครับ

ผิดถูกชี้แนะให้ถูกต้องกว่านี้นะครับ

Re: โปรแกรมคำนวณเกมส์ปังย่า

Posted: Thu May 24, 2012 11:46 pm
by snasui
:D เรื่อง Sumproduct ผมตอบไปแล้ว ลองอ่านความเห็นล่าสุดด้านบน :roll: ที่ผมได้ตอบไป ส่วน Vlookup อ่านเพิ่มเติมที่นี่เพื่อเข้าใจมากขึ้นครับ http://snasui.blogspot.com/2009/12/vlookup.html