Page 1 of 2
เปลี่ยนสูตรผลรวมตรงๆเปลี่ยนเป็นค่าเฉลี่ย
Posted: Wed Sep 12, 2012 5:57 pm
by manager
=SUMPRODUCT(--(ข้อมูล!$E$4:$E$5990=$B4),--(ข้อมูล!$B$4:$B$5990=D$3),ข้อมูล!$K$4:$K$5990)
เดิมเป็นสูตรผลรวมตรงๆ รบกวนปรับสูตรเป็นค่าเฉลี่ยเป็นเปอร์เซนต์ ข้อมูล K เป็นเปอร์เซนต์ ไม่ทราบว่าจะได้หรือเปล่าครับ
ขอบคุณครับ
Re: เปลี่ยนสูตรผลรวมตรงๆเปลี่ยนเป็นค่าเฉลี่ย
Posted: Wed Sep 12, 2012 6:05 pm
by snasui

การคำนวณค่าเฉลี่ยเป็น % แสดงว่าต้องมียอดรวมทั้งหมดอยู่แล้ว เราสามารถนำสูตรตามที่ยกมาถามตั้ง
แล้วหารด้วยยอดรวมทั้งหมดก็จะได้คำตอบที่ต้องการ
Re: เปลี่ยนสูตรผลรวมตรงๆเปลี่ยนเป็นค่าเฉลี่ย
Posted: Thu Sep 13, 2012 7:38 am
by manager
G8 คำตอบต้อง 10% ครับ
ผมลองแล้วไม่โอเค ทราบที่มาที่ไป พูดง่ายๆทำสูตรไม่เป็นว่างั้นเถอะครับ เลยเเนบไฟล์มาให้ครับ
ขอบคุณครับ
Re: เปลี่ยนสูตรผลรวมตรงๆเปลี่ยนเป็นค่าเฉลี่ย
Posted: Thu Sep 13, 2012 7:55 am
by snasui

ตัวอย่างสูตรตามด้านล่างครับ
=SUMPRODUCT(--(ข้อมูล!$E$4:$E$5990=$B8),--(ข้อมูล!$B$4:$B$5990=G$3),ข้อมูล!$J$4:$J$5990)/SUMPRODUCT(--(ข้อมูล!$E$4:$E$5990=$B8),--(ข้อมูล!$B$4:$B$5990=G$3),ข้อมูล!$I$4:$I$5990)
Re: เปลี่ยนสูตรผลรวมตรงๆเปลี่ยนเป็นค่าเฉลี่ย
Posted: Thu Sep 13, 2012 8:29 am
by manager
=SUMPRODUCT(--(ข้อมูล!$E$4:$E$5990=$B5),--(ข้อมูล!$B$4:$B$5990=G$3),(ข้อมูล!$j$4:$j$5990/ข้อมูล!$i$4:$i$5990)
แบบนี้ครับที่ผมคิดและอีกหลายแบบอยู่มั่วเลย อาจารย์หัวเราะใส่ผมได้เลย
ขอบคุณมากครับ
Re: เปลี่ยนสูตรผลรวมตรงๆเปลี่ยนเป็นค่าเฉลี่ย
Posted: Thu Sep 13, 2012 9:03 am
by manager
ต้องรบกวนอาจารย์อีกครั้งครับ ส่วนอื่นที่ตัวเลขโอเค ส่วนไม่ตัวเลขขึ้น #div/0 ไปดูที่อาจารย์ตอบเมื่อวาน=IF(I3661=0,0,J3661/I3661) ดูแล้วไม่ทราบจะผูกสูตรอย่างไรดีครับ
ขอบคุณครับ
Re: เปลี่ยนสูตรผลรวมตรงๆเปลี่ยนเป็นค่าเฉลี่ย
Posted: Thu Sep 13, 2012 9:23 am
by bank9597

เราใช้ If ได้ครับ สมมุติต้องการให้แสดงเป็นค่าว่าง ก็เพิ่ม if เข้าไปดังนี้
ที่ G8 คีย์ =IF(B8="","",SUMPRODUCT(--(ข้อมูล!$E$4:$E$5990=$B8),--(ข้อมูล!$B$4:$B$5990=G$3),ข้อมูล!$J$4:$J$5990)/SUMPRODUCT(--(ข้อมูล!$E$4:$E$5990=$B8),--(ข้อมูล!$B$4:$B$5990=G$3),ข้อมูล!$I$4:$I$5990))
คัดลอกลงมาครับ
Re: เปลี่ยนสูตรผลรวมตรงๆเปลี่ยนเป็นค่าเฉลี่ย
Posted: Thu Sep 13, 2012 9:26 am
by snasui
manager wrote:ต้องรบกวนอาจารย์อีกครั้งครับ ส่วนอื่นที่ตัวเลขโอเค ส่วนไม่ตัวเลขขึ้น #div/0 ไปดูที่อาจารย์ตอบเมื่อวาน=IF(I3661=0,0,J3661/I3661) ดูแล้วไม่ทราบจะผูกสูตรอย่างไรดีครับ
ขอบคุณครับ
ให้ดูรูปแบบการใช้ Max เข้ามาช่วยแล้วปรับใช้ดูครับ
จากสูตร =SUMPRODUCT(--(ข้อมูล!$E$4:$E$5990=$B5),--(ข้อมูล!$B$4:$B$5990=G$3),ข้อมูล!$j$4:$j$5990/ข้อมูล!$i$4:$i$5990) ก็สามารถใช้ได้หากว่า ข้อมูล!$i$4:$i$5990
ไม่มีค่า 0 ปนอยู่ด้วย
Re: เปลี่ยนสูตรผลรวมตรงๆเปลี่ยนเป็นค่าเฉลี่ย
Posted: Thu Sep 13, 2012 9:52 am
by manager
รบกวนปรับแก้ไม่ต้องการ #DIV/0
1 D9 สูตรนี้ของอาจารย์
2. D8 สูตรนี้ของคุณbank9597
ไม่ทราบผมทำผิดหรือเข้าใจผิดเปล่าถึงไม่ได้ที่ต้องการ ผมลองแนบไฟล์มาให้อีกครั้ง
ขอบคุณครับ
Re: เปลี่ยนสูตรผลรวมตรงๆเปลี่ยนเป็นค่าเฉลี่ย
Posted: Thu Sep 13, 2012 10:07 am
by snasui

ลองดูตัวอย่างการใช้ Max ตามด้านล่างอีกครั้งหนึ่งว่านำมาใช้อย่างไร Max อยู่ตรงตำแหน่งใด ลองปรับมาดูกันใหม่ครับ
snasui wrote:
manager wrote:manager wrote:B 344 หาร A 344 เป็นช่องว่าง = ช่องคำตอบ C 344 =#DIV/0 อยากทำสูตรช่อง C ไม่ให้เกิด #DIV/0 ครับ
ขอบคุณครับ[/quote
หายเหมือนกันครับ C344=IF(C344=0,0,B344/A344) แต่หาก B หาร A เป็นค่าตัวเลขอื่นที่มากกว่า 0 ค่า K เวลาลากสูตร จะได้คำ ตอบเดียวกันหมด
ขอบคุณครับ
ถ้าเขียนสูตรใน C344 เป็นการเขียนสูตรที่ไม่ถูกตำแหน่งครับ เพราะสูตรควรจะเป็น
เช่น
=If(A344=0,0,B344/A344) หรือ
=B344/Max(1,A344)
Re: เปลี่ยนสูตรผลรวมตรงๆเปลี่ยนเป็นค่าเฉลี่ย
Posted: Thu Sep 13, 2012 10:18 am
by bank9597

แบบนี้พอได้ไหมครับ
ที่ D8 คีย์ =IF(ISERROR(SUMPRODUCT(--(ข้อมูล!$E$4:$E$5990=$B8),--(ข้อมูล!$B$4:$B$5990=D$3),ข้อมูล!$J$4:$J$5990)/SUMPRODUCT(--(ข้อมูล!$E$4:$E$5990=$B8),--(ข้อมูล!$B$4:$B$5990=D$3),ข้อมูล!$I$4:$I$5990)),0,SUMPRODUCT(--(ข้อมูล!$E$4:$E$5990=$B8),--(ข้อมูล!$B$4:$B$5990=D$3),ข้อมูล!$J$4:$J$5990)/SUMPRODUCT(--(ข้อมูล!$E$4:$E$5990=$B8),--(ข้อมูล!$B$4:$B$5990=D$3),ข้อมูล!$I$4:$I$5990))
คัดลอกลงมา
Re: เปลี่ยนสูตรผลรวมตรงๆเปลี่ยนเป็นค่าเฉลี่ย
Posted: Thu Sep 13, 2012 11:54 am
by manager
อันนี้สูตรของอาจารย์ผมทำใหม่=SUMPRODUCT(--(ข้อมูล!$E$4:$E$5990=$B8),--(ข้อมูล!$B$4:$B$5990=G$3),ข้อมูล!$J$4:$J$5990/MAX(1,ข้อมูล!$I$4:$I$5990)) ไม่ทราบว่าผมทำถูกไหมครับ?
ส่วนสูตรของคุณbank9597 กำลังทดลองใช้อยู่
ผมลองทำเบื้องต้นใช้ได้ทั้งสองสูตรครับ แต่ผล%ยังไม่ลงตัว จะลองตรวจสอบ data ดูก่อนว่าผิดปกติอะไร ถ้าติดขัดจะรบกวนถามอีกครั้งครับ
ขอบคุณครับ
Re: เปลี่ยนสูตรผลรวมตรงๆเปลี่ยนเป็นค่าเฉลี่ย
Posted: Thu Sep 13, 2012 12:26 pm
by bank9597

ผลลัพท์ที่ต้องการนั้น หากยังผิดอยู่ ให้ตรวจสอบสูตรและข้อมูลครับ
หากผลลัพท์ที่ได้ ถูกต้องแล้ว แต่มีปัญหาการแสดงเออเรอร์ #div/0 ในส่วนที่ไม่มีข้อมูล ตรงนี้สามารถใช้ If ,ISERROR,ฯลฯ เข้าไปดักได้ว่าจะให้แสดงอะไรในกรณีที่มันเออร์เรอร์
ที่ผมตอบไปคือการดัก #div/0 เท่านั้นเองครับ
Re: เปลี่ยนสูตรผลรวมตรงๆเปลี่ยนเป็นค่าเฉลี่ย
Posted: Thu Sep 13, 2012 12:31 pm
by snasui
manager wrote:อันนี้สูตรของอาจารย์ผมทำใหม่=SUMPRODUCT(--(ข้อมูล!$E$4:$E$5990=$B8),--(ข้อมูล!$B$4:$B$5990=G$3),ข้อมูล!$J$4:$J$5990/MAX(1,ข้อมูล!$I$4:$I$5990)) ไม่ทราบว่าผมทำถูกไหมครับ?
ส่วนสูตรของคุณbank9597 กำลังทดลองใช้อยู่
ผมลองทำเบื้องต้นใช้ได้ทั้งสองสูตรครับ แต่ผล%ยังไม่ลงตัว จะลองตรวจสอบ data ดูก่อนว่าผิดปกติอะไร ถ้าติดขัดจะรบกวนถามอีกครั้งครับ
ขอบคุณครับ

ลองสูตรด้านล่างแล้วยังครับ
=SUMPRODUCT(--(ข้อมูล!$E$4:$E$5990=$B8),--(ข้อมูล!$B$4:$B$5990=G$3),ข้อมูล!$J$4:$J$5990)/
Max(1,SUMPRODUCT(--(ข้อมูล!$E$4:$E$5990=$B8),--(ข้อมูล!$B$4:$B$5990=G$3),ข้อมูล!$I$4:$I$5990))
Re: เปลี่ยนสูตรผลรวมตรงๆเปลี่ยนเป็นค่าเฉลี่ย
Posted: Thu Sep 13, 2012 12:59 pm
by manager
ได้โอเคเลยครับ
ถามต่อนิดครับ =AVERAGE(D4:D320) บางบรรทัดจะไม่มีตัวเลข ในกรณีนี้เปลี่ยนสูตรให้ AVERAGE เฉพาะมีตัวเลข จะต้องทำสูตรอย่างไรครับ
ขอบคุณครับ
Re: เปลี่ยนสูตรผลรวมตรงๆเปลี่ยนเป็นค่าเฉลี่ย
Posted: Thu Sep 13, 2012 1:29 pm
by bank9597

ลองตามนี้ครับ
คีย์ =AVERAGE(IF(D4:D320>0,D4:D320)) กด Ctrl+Shift+Enter
Re: เปลี่ยนสูตรผลรวมตรงๆเปลี่ยนเป็นค่าเฉลี่ย
Posted: Thu Sep 13, 2012 2:27 pm
by manager
{=AVERAGE(IF(D5:S5>0,D5:S5))} ถามเพิ่มครับ ถ้าช่อง D5:S5 ไม่มีตัวเลขจะขึ้น #div/0 อยากปรับสูตรไม่ให้มีครับ
ขอบคุณครับ
Re: เปลี่ยนสูตรผลรวมตรงๆเปลี่ยนเป็นค่าเฉลี่ย
Posted: Thu Sep 13, 2012 3:11 pm
by bank9597

อย่างที่เคยบอกไปครับ เราสามารถใช้ IF,ISERROR เข้ามาดักเออเรอร์ตัวนี้ได้ ยกตัวอย่างเช่น
=IF(COUNTA(D5:S5)=0,"",AVERAGE(IF(D5:S5>0,D5:S5)))
Re: เปลี่ยนสูตรผลรวมตรงๆเปลี่ยนเป็นค่าเฉลี่ย
Posted: Thu Sep 13, 2012 3:58 pm
by manager
=IF(COUNTA(D5:S5)=0,"",AVERAGE(IF(D5:S5>0,D5:S5))) ทำแล้วขึ้น #value! ผมทำผิดอะไรหรือเปล่า
ขอบคุณครับ
Re: เปลี่ยนสูตรผลรวมตรงๆเปลี่ยนเป็นค่าเฉลี่ย
Posted: Thu Sep 13, 2012 4:03 pm
by bank9597
manager wrote:=IF(COUNTA(D5:S5)=0,"",AVERAGE(IF(D5:S5>0,D5:S5))) ทำแล้วขึ้น #value! ผมทำผิดอะไรหรือเปล่า
ขอบคุณครับ

ขออภัยครับ ผมลืมบอกว่าต้องกด Ctrl+Shift+Enter ขอโทาด้วยครับ
