Page 1 of 1
Range Name นอกจาก sumif เราใช้ใน lookup และ countif ได้ไหมคร
Posted: Wed Nov 21, 2012 12:08 pm
by dragonna
ในตารางที่แนบมาผมได้ทำการใช้สูตร เพื่อนับเฉพาะตัวที่ไม่ซ้ำ =IF(COUNTIF(B$2:B2,B2)=1,MAX(D$1:D1)+1,"")
และใช้สูตร =LOOKUP(A2,'1'!D:D,'1'!B:B) เพื่อให้ดึงข้อมูลในหน้าสรุป
แล้วใช้สูตร =SUMPRODUCT(SUMIF(INDIRECT("'"&Allsh&"'!B:B"),$B2,(INDIRECT("'"&Allsh&"'!C:C")))) เพื่อดึงยอดรวมทุกชีทครับ
ในคอลัมภ์ D ของแต่ละชีทเราสามารถใช้สูตรเพื่อหาตัวไม่ซ้ำแบบต่อเนื่องข้ามชีทได้ไหมครับ
ในคอลัมภ์ A และ B เราสามารถใช้สูตรต่อเนื่องได้ไหมครับ
ปล.เป็นตารางคำนวณค่าแรงในแต่ละวัน โดยแยกงานในแต่ละแผนก
กราบขอบพระคุณทุกท่านช่วยชี้แนะให้ผมด้วยครับ
Re: Range Name นอกจาก sumif เราใช้ใน lookup และ countif ได้ไ
Posted: Wed Nov 21, 2012 1:23 pm
by snasui
dragonna wrote:Range Name นอกจาก sumif เราใช้ใน lookup และ countif ได้ไหมคร
Range Name สามารถใช้ได้กับทุกสูตรครับ
dragonna wrote:ในคอลัมภ์ D ของแต่ละชีทเราสามารถใช้สูตรเพื่อหาตัวไม่ซ้ำแบบต่อเนื่องข้ามชีทได้ไหมครับ
คำถามนี้ไม่เข้าใจครับ ช่วยแสดงตัวอย่างข้อมูลที่ถูกต้องมาให้ดูเป็นตัวอย่างว่า ค่าไม่ซ้ำต่อเนื่องข้ามชีทนั้นใช้ค่าใดมาแสดง และแสดงเป็นเช่นไร นอกจากนี้
เหตุใดต้องทำในคำลัมน์ D ของแต่ละชีทครับ
Re: Range Name นอกจาก sumif เราใช้ใน lookup และ countif ได้ไ
Posted: Wed Nov 21, 2012 1:44 pm
by dragonna
ใช้ lookup ดึงข้อมูลจากชีทที่ Range Name ได้ไหมครับ
ในช่อง B2 ผมใส่สูตร =LOOKUP($A2,INDIRECT("'"&Allsh&"'!D:D"),INDIRECT("'"&Allsh&"'!B:B")) หาค่าได้
แต่พอลากสูตรลงมากลายเป็นค่า #N/A และ #Value ครับ
Re: Range Name นอกจาก sumif เราใช้ใน lookup และ countif ได้ไ
Posted: Wed Nov 21, 2012 1:44 pm
by dragonna
ผมต้องการสรุปในหน้า Sum ครับ
Re: Range Name นอกจาก sumif เราใช้ใน lookup และ countif ได้ไ
Posted: Wed Nov 21, 2012 1:46 pm
by dragonna
รบกวนอาจารย์อีกรอบครับผม ผมทำไฟล์แนบมาให้ใหม่แล้วครับผม
ในคอลัมภ์ D ชีทที่ 2 จะนับเพิ่มต่อจากคอลัมภ์ D ชีทที่ 1 ครับ
ในคอลัมภ์ D ชีทที่ 3 จะนับเพิ่มต่อจากคอลัมภ์ D ชีทที่ 1 และ 2 ครับ
Re: Range Name นอกจาก sumif เราใช้ใน lookup และ countif ได้ไ
Posted: Wed Nov 21, 2012 3:16 pm
by snasui

ควรนำข้อมูลมาต่อกันในชีทเดียวเพื่อให้เป็น Database จากนั้นใช้สูตรหาค่าใด ๆ ตามต้องการ
ฟังก์ชั่นที่ให้แสดงผลลักษณะ 3 มิติอย่างเช่น
dragonna wrote:=SUMPRODUCT(SUMIF(INDIRECT("'"&Allsh&"'!B:B"),$B2,(INDIRECT("'"&Allsh&"'!C:C"))))
มีลักษณะการใช้งานอย่างจำกัด ไม่ได้มีความสามารถในการนำข้อมูลมาต่อกันต่อเนื่องกันเหมือนที่อยากให้เป็นครับ
Re: Range Name นอกจาก sumif เราใช้ใน lookup และ countif ได้ไ
Posted: Wed Nov 21, 2012 4:32 pm
by dragonna
ขอบคุณครับอาจารย์ ผมเข้าใจที่อาจารย์สอนนะครับ แต่ผมได้ข้อมูลมาจากแผนกอื่นครับ พยายามไปปรับเปลี่ยนวิธีคิดให้เค้าแล้ว ทำไฟล์ให้เค้าแล้ว เค้าก็ไม่เข้าใจ ก็ยังคงทำแบบเดิมอยู่ครับ
ผมแค่ลองคิดเผื่อดูครับ เผื่อว่าทำได้ ในหน้า sum จะได้ไม่ต้องมาคีย์เพิ่มครับ แต่ผมเช็คโดยใช้ countif อยู่แล้วครับผม
ผมเองก็คิดไปเรื่อยครับ ตอนนี้มาทำต้นทุนซึ่งเยอะมาก(ความต้องการ) แต่ก็สนุกดี พอเข้าใจเรื่องสูตรเอ็กเซล ก็เลยว่าอยากจะเรียนเพิ่ม เป็นนักคณิตศาสตร์ประกันภัย เผื่อจะอัพรายได้เพิ่มขึ้นครับ
ขอบคุณอาจารย์ีที่ช่วยแนะนำนะครับ
Re: Range Name นอกจาก sumif เราใช้ใน lookup และ countif ได้ไ
Posted: Wed Nov 21, 2012 5:53 pm
by bank9597
dragonna wrote:ขอบคุณครับอาจารย์ ผมเข้าใจที่อาจารย์สอนนะครับ แต่ผมได้ข้อมูลมาจากแผนกอื่นครับ พยายามไปปรับเปลี่ยนวิธีคิดให้เค้าแล้ว ทำไฟล์ให้เค้าแล้ว เค้าก็ไม่เข้าใจ ก็ยังคงทำแบบเดิมอยู่ครับ
ผมแค่ลองคิดเผื่อดูครับ เผื่อว่าทำได้ ในหน้า sum จะได้ไม่ต้องมาคีย์เพิ่มครับ แต่ผมเช็คโดยใช้ countif อยู่แล้วครับผม
ผมเองก็คิดไปเรื่อยครับ ตอนนี้มาทำต้นทุนซึ่งเยอะมาก(ความต้องการ) แต่ก็สนุกดี พอเข้าใจเรื่องสูตรเอ็กเซล ก็เลยว่าอยากจะเรียนเพิ่ม เป็นนักคณิตศาสตร์ประกันภัย เผื่อจะอัพรายได้เพิ่มขึ้นครับ
ขอบคุณอาจารย์ีที่ช่วยแนะนำนะครับ

ลองพยายามดูครับ การทำงานให้เป็นมาตรฐานเดียว จะช่วยให้งานเร็วและไม่ผิดพลาดครับ ผมสนับสนุนความคิดของอาจารย์คนควนครับ เพราะง่ายต่อการจัดการ
ส่วนอันนี้ ผมตอบให้ดูก่อนครับ แสดงให้เห็นถึงว่ายุงยากในการใช้สูตร
อ้างอิงลิงค์นี้
http://snasui.blogspot.com/2009/12/sheet-sheet.html โดยอาจารย์สันติพงศ์ ลองไปศึกษาดูครับ
ที่ F2:F3 คีย์ชื่อชีทไว้ 1 ถึง 3
ที่ G2 คีย์ =COUNTA(INDIRECT("'"&F2&"'!"&"B2:B65536")) คัดลอกลงมาถึง G4
ที่ G5 คีย์ =SUM(G2:G4)
ที่ H2 คีย์ =SUM($G$2:G2)-G2+1 คัดลอกลงมา ถึง H4
จากนั้นทำการ list ชื่อชีทออกมา
ที่ A2 คีย์ =IF(ROWS($A$2:A2)>$G$5,"",LOOKUP(ROWS($A$2:A2),$H$2:$H$4,$F$2:$F$4)) คัดลอกลงมา
จากนั้นทำการ list ค่าที่อ้างอิงจากชื่อชีทในคอลัมน์ A ออกมา
ที่ B2 คีย์ =IF($A2<>"",INDIRECT("'"&$A2&"'!"&SUBSTITUTE(ADDRESS(1,COLUMN()),1,"")&COUNTIF($A$2:$A2,$A2)+1),"") คัดลอกลงมา
ที่ C2 คีย์ =IF($A2<>"",INDIRECT("'"&$A2&"'!"&SUBSTITUTE(ADDRESS(2,COLUMN()),2,"")&COUNTIF($A$2:$A2,$A2)+1),"") คัดลอกลงมา
จะได้ค่าในชีทต่างๆนำมาเรียงต่อกัน
หาค่ารวมยอด
ที่ D2 คีย์ =IF(COUNTIF($B$2:B2,$B2)=1,SUMIF($B$2:$B$31,B2,$C$2:$C$31),"") คดลอกลงมา
Re: Range Name นอกจาก sumif เราใช้ใน lookup และ countif ได้ไ
Posted: Thu Nov 22, 2012 9:35 am
by dragonna
ขอบคุณคุณ bank9597 มากนะครับวิธีการใช้ได้เลยครับ ตอนนี้ต้องพิสูจน์ตัวเองให้หัวหน้าเห็นก่อนว่าผมก็ใช้สูตรเอ็กเซลทำงานได้ดีระดับไหนครับ เพราะกลัวว่าก่อนจะเปลี่ยนแปลงอะไรก็ตาม หากมีปัญหาผมต้องแก้และรับผิดชอบได้ด้วครับ พอหัวหน้าเชื่อใจแล้วค่อย ๆ ปรับแต่ละแผนกไปครับ
ขอบคุณทุก ๆ ที่ให้ความรู้เพื่อนำไปใช้ประโยชน์ต่อไปได้ครับผม