Page 1 of 1

สอบถามการแสดงข้อมูล ตามเงื่อนไข และsum แถว ครับ

Posted: Wed Sep 06, 2023 10:49 am
by prasertLasong
สอบถามหน่อยครับ อาจารย์ทุกท่าน
ผมต้องการแสดงข้อมูลตามเงื่อนไขในเซลล์ G1:G2 จากช่วงข้อมูลที่อยู่ใน A2:C28 มาแสดงซึ่งขนาดจำนวนแถวของข้อมูลในกลุ่มนั้นๆ และเมื่อ N แถวหลังจากแถวสุดท้ายของข้อมูล ให้ทำการ sum
ไม่ทราบว่าจะมีวิธีการใด บ้างครับ
ขอขอบคุณครับ

Re: สอบถามการแสดงข้อมูล ตามเงื่อนไข และsum แถว ครับ

Posted: Wed Sep 06, 2023 1:41 pm
by norkaz
...

G6

=LET(s,SCAN(A2,A3:A28,LAMBDA(x,y,IF(y="",x,y))),x,XMATCH(s,G1:G2),VSTACK(FILTER(B3:C28,IFERROR(x,0)),HSTACK("ผลรวม",SUM(TAKE(FILTER(B3:C28,IFERROR(x,0)),,-1)))))

** สนับสนุนฟอรั่ม กรุณาคลิกโฆษณาหน้าเพจ***

แมวใหญ่ Bigcat9

Re: สอบถามการแสดงข้อมูล ตามเงื่อนไข และsum แถว ครับ

Posted: Wed Sep 06, 2023 1:55 pm
by prasertLasong
ขอขอคุณมากเลยครับ แต่ผมดูแล้ว งง กับฟังก์ชั่นเหลือเกิน ต้องศึกษาเพิ่มเติ่มให้มากแล้วครับ

Re: สอบถามการแสดงข้อมูล ตามเงื่อนไข และsum แถว ครับ

Posted: Wed Sep 06, 2023 3:01 pm
by EX2010
เคยมีตัวอย่างแบบนี้อยู่ อ.ควนเคยตอบในPantip เลยนำมาดัดแปลงแก้ไขเล็กน้อย เดียวหาไฟล์ก่อนส่งให้ครับ

Re: สอบถามการแสดงข้อมูล ตามเงื่อนไข และsum แถว ครับ

Posted: Wed Sep 06, 2023 7:43 pm
by norkaz
prasertLasong wrote: Wed Sep 06, 2023 1:55 pm ขอขอคุณมากเลยครับ แต่ผมดูแล้ว งง กับฟังก์ชั่นเหลือเกิน ต้องศึกษาเพิ่มเติ่มให้มากแล้วครับ
...

ท่านเจ้าของคำถาม สามารถใช้สูตร ที่ไม่ใช่ Excel 365 ตามตัวอย่างสูตร


G6

=IFERROR(INDEX(B:B,IFERROR(AGGREGATE(15,6,ROW($A$3:$A$28)/(LOOKUP(ROW($A$3:$A$28),ROW($A$3:$A$28)/($A$3:$A$28<>""),$A$3:$A$28)=$G$1),ROWS(G$6:G6)),AGGREGATE(15,6,ROW($A$3:$A$28)/(LOOKUP(ROW($A$3:$A$28),ROW($A$3:$A$28)/($A$3:$A$28<>""),$A$3:$A$28)=$G$2),ROWS(G$5:G5)-COUNT(INDEX(1/(LOOKUP(ROW($A$3:$A$28),ROW($A$3:$A$28)/($A$3:$A$28<>""),$A$3:$A$28)=$G$1),0))))),"ผลรวม")

Copy สูตรลงล่าง

H6

=IFERROR(INDEX(C:C,IFERROR(AGGREGATE(15,6,ROW($A$3:$A$28)/(LOOKUP(ROW($A$3:$A$28),ROW($A$3:$A$28)/($A$3:$A$28<>""),$A$3:$A$28)=$G$1),ROWS(H$6:H6)),AGGREGATE(15,6,ROW($A$3:$A$28)/(LOOKUP(ROW($A$3:$A$28),ROW($A$3:$A$28)/($A$3:$A$28<>""),$A$3:$A$28)=$G$2),ROWS(H$5:H5)-COUNT(INDEX(1/(LOOKUP(ROW($A$3:$A$28),ROW($A$3:$A$28)/($A$3:$A$28<>""),$A$3:$A$28)=$G$1),0))))),SUM(H$5:H5))

Copy สูตรลงล่าง



เนื่องจากโจทย์ ที่คอลัมน์ A มีการเว้นแถว กรณี สามารถปรับคอลัมน์ A คีย์เต็มทุกแถว ไม่เว้นแถวว่าง

ได้สูตรสั้นลง ตัวอย่างสูตร

G6

=IFERROR(INDEX(B:B,IFERROR(AGGREGATE(15,6,ROW($A$3:$A$28)/($G$1=$A$3:$A$28),ROWS(G$6:G6)),AGGREGATE(15,6,ROW($A$3:$A$28)/($G$2=$A$3:$A$28),ROWS(H$6:H6)-COUNTIF($A$3:$A$28,$G$1)))),"ผลรวม")

Copy สูตรลงล่าง

H6

=IFERROR(INDEX(C:C,IFERROR(AGGREGATE(15,6,ROW($A$3:$A$28)/($G$1=$A$3:$A$28),ROWS(G$6:G6)),AGGREGATE(15,6,ROW($A$3:$A$28)/($G$2=$A$3:$A$28),ROWS(H$6:H6)-COUNTIF($A$3:$A$28,$G$1)))),SUM(H$5:H5))

Copy สูตรลงล่าง


** สนับสนุนฟอรั่ม กรุณาคลิกโฆษณาที่หน้าเพจ***

แมวใหญ่ Bigcat9

...

Re: สอบถามการแสดงข้อมูล ตามเงื่อนไข และsum แถว ครับ

Posted: Thu Sep 07, 2023 8:04 am
by prasertLasong
ขอขอบคุณมากๆ ครับสำหรับน้ำใจ
ฟังก์ชั่นที่ใช้กับ เวอร์ชั่น 365 นี้เทพและทรงพลังมากๆ แต่ด้วยความรู้กับฟังก์ชั่นยังน้อยเลยทำให้งง แต่ผมต้องศึกษาซะแล้วครับ
และที่สำคัญที่สุด ได้แบ่งปันสิ่งที่ยิ่งใหญ่ คือความรู้

ขอบคุณครับ