snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
Katekorn
Member
Posts: 10 Joined: Tue Jan 27, 2015 11:11 am
#1
Post
by Katekorn » Fri Aug 12, 2016 11:42 am
สวัสดีครับ
ผมอยากทราบสูตร Excel SUM หาผลรวมของ range ที่เราสามารถกำหนดเงื่อนไขว่าเมื่อ พิมพ์เลข 6 ที่ เซล P2
ก็ให้ cell O2
SUM ตั้งแต่ เซล B2 ถึง G2
ในกรณีที่เดือนต่อไป ผมเปลี่ยน เซล P2 = 7
ก็ให้ cell O2
SUM ตั้งแต่ เซล B2 ถึง H2
ผมแนบไฟล์ตัวอย่างมาด้วยครับ
ขอบคุณมากครับ
You do not have the required permissions to view the files attached to this post.
Serverchita
Bronze
Posts: 296 Joined: Wed Nov 18, 2015 1:28 pm
Excel Ver: 365
#2
Post
by Serverchita » Fri Aug 12, 2016 12:47 pm
ลองสูตรง่าย ๆ ดูนะครับ
=IF($P$2=6,SUM(B2:G2),IF($P$2=7,SUM(B2:H2),""))
Katekorn
Member
Posts: 10 Joined: Tue Jan 27, 2015 11:11 am
#3
Post
by Katekorn » Fri Aug 12, 2016 3:03 pm
ขอบคุณครับ คุณ Serverchita
ผมต้องเขียนสูตร IF 12 ครั้งซึ่งมันยาวเกินไปครับ เพราะผมต้องการ SUM ข้อมูลเป็นแต่ละเดือนครับ
เช่น พอผมใส่ เลข 6 ที่ cell P2 ก็ต้องการให้ SUM ตั้งแต่ B2:G2
ใส่ เลข 7 ที่ cell P2 ก็ต้องการให้ SUM ตั้งแต่ B2:H2
จนกระทั่งถึงเลข 12 ก็ต้องการให้ SUM ตั้งแต่ B2:M2
อยากได้สูตรที่สั้นกว่านี้ครับ
รบกวนอีกครั้งครับ
ขอบคุณครับ
DhitiBank
Gold
Posts: 1676 Joined: Mon Oct 15, 2012 12:07 am
#4
Post
by DhitiBank » Sat Aug 13, 2016 9:12 am
ลองแบบนี้ครับ
O2
=IF(OR(P2=0,ISTEXT(P2)),0,SUMPRODUCT(--(--SUBSTITUTE($B$1:$M$1,"P","")<=P2),B2:M2))
Enter >> คัดลอกลงล่างครับ
PayomKanboon
Member
Posts: 84 Joined: Wed Mar 14, 2012 9:12 am
#5
Post
by PayomKanboon » Sat Aug 13, 2016 10:55 am
ทางเลือกอีกสูตร
สูตรArray =SUM(IF(COLUMN($B$1:$M$1)<=SUM(IF($P$1=$B$1:$M$1,COLUMN($B$1:$M$1),"")),B2:M2,""))
ตาม File แนบครับ
You do not have the required permissions to view the files attached to this post.
Katekorn
Member
Posts: 10 Joined: Tue Jan 27, 2015 11:11 am
#6
Post
by Katekorn » Sun Aug 14, 2016 9:41 pm
ขอบคุณมากครับ ทั้งคุณ Dhitibank และ คุณ PayomKanboon ได้ความรู้ใหม่เลยครับ
ตอนนี้ผมใช้สูตร OFFSET เข้ามาช่วยครับ
เขียนสูตร ที่O2
=SUM($B2:OFFSET($B2,0,($P$1-1)))
You do not have the required permissions to view the files attached to this post.