snasui.com ยินดีต้อนรับ ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
จุดประสงค์คือต้องการหาค่า MAX ซึ่งอยู่ในคอลัมน์สุดท้าย ในชีท Max 3 Games และ Max Game เพื่อใช้ในการทำคะแนน TOP10 ของลีคโบว์ลิ่ง
เงื่อนไขคือ ค่า MAX จะถูกคิดเมื่อคอลัมน์ G ซึ่งแสดงจำนวนเกมส์มากกว่าเท่ากับ 10 และคะแนนที่ใช้คำนวณได้คือคะแนนของเกมส์ที่ 10 เป็นต้นไป ทั้งนี้จะมีรายละเอียดของเกมส์ที่แข่งขันในแต่ละสัปดาห์แสดงอยู๋ในชีท Count Game
ปัญหาที่พบเมื่อลองทำคือ เมื่อค่าในคอลัมน์ G >=10 ไม่สามารถทำให้โปรแกรมแยกข้อมูลของอาทิตย์แรกๆที่ G ยังน้อยกว่า 10 ออกไปได้แบบออโต้ ในการหาค่า MAX กล่าวคือผลลัพธ์ที่ต้องการคือ MAX ของคะแนนตั้งแต่เกมส์ 10 เป็นต้นไป โดยไม่เอาของเกมส์ก่อนๆหน้ามาคิด แม้ว่าจำนวนเกมส์โดยรวมจะมากกว่าหรือเท่ากับ 10 เกมส์แล้วก็ตามค่ะ
ที่ชีท 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 ค่ะ
ที่ชีต Count Games ต้องการดูว่าตั้งแต่คอลัมน์ H เป็นต้นไป ผลรวมสะสมเริ่ม >9 ที่คอลัมน์ใดค่ะ กล่าวคือต้องการให้ข้อมูลในชีต max game ถูกคำนวณเมื่อข้อมูลในชีต Count Game มีผลรวมสะสม >9 ค่ะ