Page 1 of 1

ต้องการสอบถามสูตรหรือวิธีการในการหาค่า MAX แบบมีเงื่อนไขที่ซับซ้อน

Posted: Thu Jun 15, 2017 5:25 pm
by amlu
จุดประสงค์คือต้องการหาค่า MAX ซึ่งอยู่ในคอลัมน์สุดท้าย ในชีท Max 3 Games และ Max Game เพื่อใช้ในการทำคะแนน TOP10 ของลีคโบว์ลิ่ง

เงื่อนไขคือ ค่า MAX จะถูกคิดเมื่อคอลัมน์ G ซึ่งแสดงจำนวนเกมส์มากกว่าเท่ากับ 10 และคะแนนที่ใช้คำนวณได้คือคะแนนของเกมส์ที่ 10 เป็นต้นไป ทั้งนี้จะมีรายละเอียดของเกมส์ที่แข่งขันในแต่ละสัปดาห์แสดงอยู๋ในชีท Count Game

ปัญหาที่พบเมื่อลองทำคือ เมื่อค่าในคอลัมน์ G >=10 ไม่สามารถทำให้โปรแกรมแยกข้อมูลของอาทิตย์แรกๆที่ G ยังน้อยกว่า 10 ออกไปได้แบบออโต้ ในการหาค่า MAX กล่าวคือผลลัพธ์ที่ต้องการคือ MAX ของคะแนนตั้งแต่เกมส์ 10 เป็นต้นไป โดยไม่เอาของเกมส์ก่อนๆหน้ามาคิด แม้ว่าจำนวนเกมส์โดยรวมจะมากกว่าหรือเท่ากับ 10 เกมส์แล้วก็ตามค่ะ

ดังนั้นจึงมาขอคำแนะนำและวิธีในการแก้ปัญหานี้ค่ะ ขอบคุณค่ะ

Re: ต้องการสอบถามสูตรหรือวิธีการในการหาค่า MAX แบบมีเงื่อนไขที่ซับซ้อน

Posted: Thu Jun 15, 2017 7:54 pm
by snasui
:D ค่อย ๆ ถามตอบกันไปครับ

ช่วยยกตัวอย่างเฉพาะ 2 เซลล์นี้ โดยแสดงลำดับการคิดมาอย่างละเอียดทุกขั้นตอน ทุกเงื่อนไขที่เกี่ยวข้องครับ

ที่ชีต max games เซลล์ AB2 และ AB3 มีวิธีคิดอย่างไรจึงได้คำตอบเท่านั้นครับ :?:

Re: ต้องการสอบถามสูตรหรือวิธีการในการหาค่า MAX แบบมีเงื่อนไขที่ซับซ้อน

Posted: Fri Jun 16, 2017 12:03 pm
by amlu
ที่ชีท max games เซลล์ AB2 = MAX(K2:Q2) โดย AB2 มีเงื่อนไขคือ G2>=10 และ โดยจะเริ่มเอาข้อมูลของคอลัมน์ไหนมาคิดค่า MAX นั้น ต้องการดูที่ชีท Count Games ว่าผลรวมสะสมตั้งแต่คอลัมน์ H เป็นต้นไป เริ่ม >9 ในคอลัมน์ไหน ซึ่งในที่นี้คือจาก H ถึง J จึงจะดูชีท Max Game และนำค่าตั้งแต่คอลัมน์ถัดไป 1 คอลัมน์ซึ่งก็คือคอลัมน์ K มาใส่สูตร MAX ค่ะ

ส่วนสำหรับ AB3 นั้น ข้อมูลในชีท Count Game ในคอลัมน์ H-J ยังมีผลรวมสะสม <9 จึงยังไม่เข้าเงื่อนไข จึงไม่นำคอลัมน์ K มาคิดค่ะ ทำให้สูตรใน AB3 = MAX(L3:Q3) เนื่องจากคอลัมน์ L เป็นคอลัมน์ถัดจากคอลัมน์(HถึงK) ที่ผลรวมสะสมในชีท Count Game >9 ค่ะ

Re: ต้องการสอบถามสูตรหรือวิธีการในการหาค่า MAX แบบมีเงื่อนไขที่ซับซ้อน

Posted: Sat Jun 17, 2017 6:42 am
by snasui
:D การคำนวณยอดสะสมที่ชีต Count Games โปรแกรมจะดูเงื่อนไข >9 หรือ <9 ได้จากที่ใด หรือเราจะทราบได้อย่างไรว่ากำลังจะพิจาณา >9 หรือ <9 ครับ

Re: ต้องการสอบถามสูตรหรือวิธีการในการหาค่า MAX แบบมีเงื่อนไขที่ซับซ้อน

Posted: Wed Jun 21, 2017 2:44 pm
by amlu
ที่ชีต Count Games ต้องการดูว่าตั้งแต่คอลัมน์ H เป็นต้นไป ผลรวมสะสมเริ่ม >9 ที่คอลัมน์ใดค่ะ กล่าวคือต้องการให้ข้อมูลในชีต max game ถูกคำนวณเมื่อข้อมูลในชีต Count Game มีผลรวมสะสม >9 ค่ะ

Re: ต้องการสอบถามสูตรหรือวิธีการในการหาค่า MAX แบบมีเงื่อนไขที่ซับซ้อน

Posted: Wed Jun 21, 2017 9:47 pm
by snasui
:D ข้อนั้นทราบอยู่แล้วครับ

ผมหมายถึงว่าโปรแกรมจะทราบได้อย่างไรว่าเรากำลังพิจารณาว่า >9 หรือ <9 เมื่อใดที่จะพิจารณาว่า >10 หรือ <10 เมื่อใดจะพิจาณาว่า >11 หรือ <11 เช่นนี้เป็นต้นครับ

Re: ต้องการสอบถามสูตรหรือวิธีการในการหาค่า MAX แบบมีเงื่อนไขที่ซับซ้อน

Posted: Thu Jun 22, 2017 6:28 pm
by amlu
เงื่อนไขในการนำมาคำนวณมีเงื่อนไขเดียวค่ะ คือผลรวมสะสมในชีท Count Games >9 จึงจะเริ่มนำข้อมูลตั้งแต่สัปดาห์ที่ >9 นั้นมาคิด MAX

ก่อนหน้านี้ที่ได้อธิบายไป มีการใส่หลายแบบอาจจะทำให้เกิดการเข้าใจผิด ต้องขอโทษอาจารย์ด้วยนะคะ

Re: ต้องการสอบถามสูตรหรือวิธีการในการหาค่า MAX แบบมีเงื่อนไขที่ซับซ้อน

Posted: Thu Jun 22, 2017 7:40 pm
by snasui
:D หากผมเข้าใจถูกต้องเซลล์ AB3 เขียนสูตรตามด้านล่างครับ

=IFERROR(OFFSET(H2,0,MATCH(1,1/(SUBTOTAL(9,OFFSET('Count Games'!H2,0,0,1,ROW(INDIRECT("1:3"))))>=9),0)),0)

Ctrl+Shift+Enter > Copy ลงด้านล่าง

Re: ต้องการสอบถามสูตรหรือวิธีการในการหาค่า MAX แบบมีเงื่อนไขที่ซับซ้อน

Posted: Wed Jun 28, 2017 2:46 pm
by amlu
ได้นำสูตรไปทดลองแล้วค่ะ พบว่าผลลัพธ์ที่ได้ยังไม่ใช่ที่ต้องการค่ะ เนื่องจากผลที่ได้ นำค่าของช่อง W.4 มาเป้นค่า MAX เลย ทำให้เมื่อมีข้อมูลของสัปดาห์ที่ 5 และ 6 ตามมา สูตรไม่ได้นำค่าดังกลาวมาคำนวณในค่า MAX นี้ด้วยค่ะ แต่ยกค่าของ W.4 มาใส่เลย

อย่างไรก็ตาม ตอนนี้ได้แก้ไขโดยการเขียนสูตรในช่องที่ดึงคะแนนมา เช่น ช่อง K2 เขียนว่า =IFERROR(IF(SUM('Count Games'!$H2:J2)<9,0,INDEX(W.4!$1:$1048576,MATCH($B2,W.4!$U:$U,0),28)),0) แทนค่ะ โดย W.4 ในสูตรคือชื่อชีทตามแต่ละสัปดาห์ที่จะดึงคะแนนมารวบรวมไว้ค่ะ ซึ่งจากสูตรดังกล่าวทำให้ดึงเฉพาะคะแนนของผู้เล่นที่เล่นมาไม่น้อยกว่า 9 เกมมาเท่านั้น หากบุคคลใดยังเล่นไม่ถึงจะแสดงคะแนนเป็น 0 จากนั้นในช่อง AB จึงเขียนว่า =MAX($K2:$AA2) เพื่อให้นำทุกค่าที่ดึงมาคำนวณค่ะ

ซึ่งตอนนี้มีข้อมูลถึงสัปดาห์ที่ 6 และจากการสุ่มตรวจยังไม่เจอข้อผิดพลาดจากสูตรดังกล่าวค่ะ อย่างไรก็ตาม หากอาจารย์มองเห็นความผิดพลาดที่อาจจะเกิดขึ้น หรือมีสูตรหรือวิธีที่ดีกว่านี้ รบกวนขอคำชี้แนะจากอาจารย์ด้วยนะคะ ขอบคุณค่ะ