Page 1 of 1
รวมจำนวนตามเงื่อนไขที่กำหนด
Posted: Tue Jul 10, 2018 12:15 am
by Rin
เมื่อ Code Stock ในคอลัมน์ I, K, M, O, Q, S ของชีตทำคอร์สดึงยอดชำระ+ค่ามือ ตรงกับ รหัสสินค้า ในคอลัมน์ A ของชีต Product
ให้ดึงใช้ Stock ในคอลัมน์ J, L, N, P, R, T มารวมให้ตรงกับช่องรหัสสินค้า (คอลัมน์ A ของชีต Product)
Re: รวมจำนวนตามเงื่อนไขที่กำหนด
Posted: Tue Jul 10, 2018 7:00 am
by snasui

ควรแปลงข้อมูลต้นทางให้เป็น Database การนำรายงานมาทำรายงานสูตรจะยากมาก อาจจะไม่สามารถแก้ไขได้ด้วยตัวเองได้ครับ
ตัวอย่างสูตรตามด้านล่างเป็นการแปลงข้อมูลและหาคำตอบครับ
- เปิดชีตใหม่ขึ้นมา 1 ชีตให้ชื่อว่า Sheet1
- ที่ A1:E1 คีย์ ประทับเวลา, รหัสลูกค้า, คอร์สที่ทำ, Stock และ ใช้ ตามลำดับ
- ที่ A2 คีย์
==IF(ROWS(A$2:A2)>ROWS('ทำคอร์สดึงยอดชำระ+ค่ามือ'!$A$2:$A$6)*COUNTIF('ทำคอร์สดึงยอดชำระ+ค่ามือ'!$I$1:$T$1,"Code*"),"",INDEX('ทำคอร์สดึงยอดชำระ+ค่ามือ'!A$2:A$6,INT(ROWS(A$2:A2)-1)/COUNTIF('ทำคอร์สดึงยอดชำระ+ค่ามือ'!$I$1:$T$1,"Code*")+1))
Enter > Copy ไปด้านขวาถึง C2 แล้ว Copy ลงด้านล่าง
- ที่ D2 คีย์
=IF($A2="","",OFFSET('ทำคอร์สดึงยอดชำระ+ค่ามือ'!I$2,INT((ROWS(C$2:C2)-1)/(COUNTIF('ทำคอร์สดึงยอดชำระ+ค่ามือ'!$I$1:$T$1,"Code*"))),2*MOD((ROWS(C$2:C2)-1),COUNTIF('ทำคอร์สดึงยอดชำระ+ค่ามือ'!$I$1:$T$1,"Code*"))))
Enter > Copy ไปด้านขวาถึง E2 แล้ว Copy ลงด้านล่าง
- ที่ชีต Product เซลล์ E2 คีย์
=SUMIF(Sheet1!$D$2:$D$31,$A2,Sheet1!$E$2:$E$31)
Enter > Copy ลงด้านล่าง
Re: รวมจำนวนตามเงื่อนไขที่กำหนด
Posted: Tue Jul 10, 2018 6:15 pm
by Rin
ทำตามที่อาจารย์บอกแล้ว
แต่ติดปัญหาที่ Sheet1 ดึงข้อมูลจาก ชีตทำคอร์สดึงยอดชำระ+ค่ามือ มาไม่ครบค่ะ
Re: รวมจำนวนตามเงื่อนไขที่กำหนด
Posted: Tue Jul 10, 2018 6:16 pm
by Rin
ภาพประกอบค่ะ
Re: รวมจำนวนตามเงื่อนไขที่กำหนด
Posted: Tue Jul 10, 2018 6:46 pm
by snasui

แนบไฟล์ Excel มาด้วยจะได้ช่วยดูให้ได้ครับ
Re: รวมจำนวนตามเงื่อนไขที่กำหนด
Posted: Tue Jul 10, 2018 6:51 pm
by Rin
ไฟล์แนบค่ะ

Re: รวมจำนวนตามเงื่อนไขที่กำหนด
Posted: Tue Jul 10, 2018 7:04 pm
by snasui

ปรับสูตรที่ A2 เป็นด้านล่างครับ
=IF(ROWS(A$2:A2)>ROWS('ทำคอร์สดึงยอดชำระ+ค่ามือ'!$A$2:$A$6)*COUNTIF('ทำคอร์สดึงยอดชำระ+ค่ามือ'!$I$1:$T$1,"Code*"),"",INDEX('ทำคอร์สดึงยอดชำระ+ค่ามือ'!A$2:A$6,INT(ROWS(A$2:A2)-1)/COUNTIF('ทำคอร์สดึงยอดชำระ+ค่ามือ'!$I$1:$T$1,"Code*")+1))
Enter > Copy ลงด้านล่าง
การ Copy ให้ Copy ไปจนเห็นผลลัพธ์เป็นเซลล์ว่าง ไม่เช่นนั้นจะได้ข้อมูลไม่ครบครับ สูตรในโพสต์ #2 ด้านบนไม่ Update ผมได้กลับไป Update ให้เรียบร้อยแล้วครับ