Page 1 of 1

แก้ไข Sumproduct ให้ผลลัพธ์เป็น #Value! ได้แล้วครับ

Posted: Tue May 17, 2011 11:13 am
by HELP
ได้ทำตามที่คุณคนควนแนะนำ และใช้งานได้แล้วครับ
สรุปคำตอบเพื่อเป็นข้อมูลว่า
รายการข้อมูล Sumproduct จะต้องไม่มีค่าที่เป็น Text หรือผลลลัพธ์จากสูตรที่ให้ผลลัพธ์เป็น Text ครับ ไม่เช่นนั้่นฟังก์ชั่น Sumproduct จะให้ผลลัพธ์เป็น #Value!
คล้ายกับกระทู้ http://www.snasui.com/viewtopic.php?f=3 ... ilit=value
แต่ของผมเป็นสูตรทำให้หา text จาก constant ไม่เจอในตอนแรก
ต้องใช้คำสั่งเป็น คลุมหัวคอลัมน์ > กดแป้น F5 > Special > Formulas > กรณีที่ค้นหาว่าเซลล์ไหนเป็น Text ทำเครื่องหมายที่เฉพาะที่ Text > OK โปรแกรมจะเลือกผลลัพธ์จากสูตรที่เป็น Text มาให้

ขอสอบถามเพิ่มเพื่อเป็นความรู้นิดนึงครับ
เพราะสงสัยว่า มี text ในแถว C แต่สามารถใช้ =(SUMPRODUCT(D!$C$2:$C$25000)) ได้เพราะอะไรครับ

อนึ่ง ไฟล์ที่แนบกระทู้ได้สูงสุด 300 kb ซึ่งไม่ได้ระบุไว้ตอนส่งไฟล์
และรูปภาพควรมีขนาดมากที่สุด กว้าง 1280 พิกเซล และสูง 768 พิกเซล

อีกประการ ผมใช้ firefox 3.5 ยังไม่ได้ใช้ 4 เพราะ addon บางตัวยังไม่เข้ากัน
ตั้งพื้นเป็นสีขาวสำหรับทุกเวปเพื่อให้อ่านง่าย แต่จะมองไม่เห็นลิงค์สำหรับตั้งกระทู้ใหม่
ตามรูปที่แนบมาด้วย
ขอแจ้งไว้เป็นข้อมูลเพื่อทราบ

ขอบคุณครับ

Re: แก้ไข Sumproduct ให้ผลลัพธ์เป็น #Value! ได้แล้วครับ

Posted: Tue May 17, 2011 11:55 am
by snasui
HELP wrote:ขอสอบถามเพิ่มเพื่อเป็นความรู้นิดนึงครับ
เพราะสงสัยว่า มี text ในแถว C แต่สามารถใช้ =(SUMPRODUCT(D!$C$2:$C$25000)) ได้เพราะอะไรครับ
เพราะ D!$C$2:$C$25000 ไม่มี Text อยู่ครับ

ส่วนเรื่องการแสดงผลของ Firefox 3.6 เมื่อปรับสีพื้นให้เป็นสีขาวตามที่แจ้งมาผมคงไม่ปรับ Forum เนื่องจากอาจจะกระทบกับผมเองและผู้ใช้ท่านอื่น ๆ ที่ใช้ตามปกติไม่ได้กำหนดค่าอื่น ๆ เพิ่มเติม ครับ :mrgreen:

Re: แก้ไข Sumproduct ให้ผลลัพธ์เป็น #Value! ได้แล้วครับ

Posted: Tue May 17, 2011 12:20 pm
by HELP
เนื่องจากถ้าใช้สูตร =(SUMPRODUCT($C$2:$C$25000-ABS($D$2:$D$25000)))
จะให้ค่าเป็น #value
แต่ถ้าแยกเป็นส่วน เช่น =(SUMPRODUCT($C$2:$C$25000))
หรือ =(SUMPRODUCT(ABS($D$2:$D$25000)))
สามารถให้ค่าเป็นตัวเลขได้
โดยที่ทั้งหมดยังไม่ได้เปลี่นข้อมูล text แต่อย่างใด
ถ้าแถว c ไม่มี text แต่ใช้สูตรเต็ม =(SUMPRODUCT($C$2:$C$25000-ABS($D$2:$D$25000)))
จะให้ค่าเป็น #value
แต่จริง ๆ แถว c มี text แต่ใช้สูตร =(SUMPRODUCT($C$2:$C$25000)) ได้เพราะอะไรครับ
ขอบคุณครับ

ปล. เรื่องสีหน้าเวปไม่เป็นไรครับ
แจ้งไว้เพื่อทราบเฉย ๆ เพียงเห็นว่าลิงค์อื่น ๆ มองเห็นได้
ไม่มีผลกระทบกับผู้อื่น
เช่น แสดงกระทู้ที่ยังไม่มีการตอบ เป็นต้น

Re: แก้ไข Sumproduct ให้ผลลัพธ์เป็น #Value! ได้แล้วครับ

Posted: Tue May 17, 2011 1:49 pm
by snasui
:lol: อย่างแรกต้องเข้าใจว่า Sumproduct ทำงานอย่างไรก่อนครับ

กรณีที่ 1 ถ้าเราเขียน =Sumproduct(A1:A10) หมายถึงรวมช่วงข้อมูลท A1:A10 แม้จะมีตัวหนังสืออยู่ในบางเซลล์ก็สามารถรวมข้อมูลได้ และปกติเราจะไม่รวมช่วงข้อมูลที่ไม่มีเงื่อนไขด้วยการใช้ Sumproduct จะใช้ Sum(A1:A10) ได้เลย เนื่องจากสร้างมาเพื่อการนี้โดยเฉพาะ ทำงานได้เร็วกว่า

กรณีที่ 2 ถ้าเราเขียนสูตรเป็น =Sumproduct(A1:A10,B1:B10) จะหมายถึงการหาผลรวมของช่วงข้อมูล A1:A10 มาคูณกับ B1:B10 โดยลักษณะการวมจะเป็นดังนี้ A1*B1+A2*B2+A3*B3+...+A10*B10

สำหรับกรณีที่สองนี้ ทั้งสองช่วงข้อมูลจะต้องเป็นตัวเลขเท่านั้นถึงจะนำมาคูณกันได้ เช่นเดียวกันกับสูตร

=Sumproduct(A1:A10-ABS(B1:B10)) ทั้งสองช่วงข้อมูลจะต้องเป็น Number เพราะต้องนำมาลบกัน จะเอา Number ไปหักออกด้วย Text หรือ Text หักออกด้วย Number ก็จะเกิดค่าผิดพลาดทั้งนั้นครับ :mrgreen:

Re: แก้ไข Sumproduct ให้ผลลัพธ์เป็น #Value! ได้แล้วครับ

Posted: Tue May 17, 2011 5:23 pm
by HELP
ขอบคุณครับ