snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
catty
Member
Posts: 5 Joined: Thu Jul 14, 2011 11:14 am
#1
Post
by catty » Thu Jul 14, 2011 1:34 pm
คือว่าอยากคำนวนหาค่าเฉลี่ยของเครื่องมืออ่ะคะ แต่เครื่องมือมันไม่ได้ทำงานตลอด 24 ชม.มันจะทำงานตามคำสั่ง ปัญหาคือว่า ในตารางจะมี ชม. ที่ไม่ได้ทำงานแล้วสูตรที่ลิงค์มามันจะ error แสดงเป็นค่า value,div/o ค่ะ อยากทราบว่าถ้าจะทำให้ excell คิดว่าค่าที่ error เนี่ยเป็ฯศูนย์แล้วบวกแค่ค่าที่สมบูรณ์หรือแค่ชั่วโมงที่เครื่องทำงานในแต่ละวันอ่ะค่ะมันจะทำได้ไม ช่วยบอกหน่อยนะค่ะ หนูลองใช้ sumif เป็น iserror isnumber มันก้อไม่ได้อ่ะค่ะ ใครสามารถทำได้ช่วยตอบที่เถอะค่ะคิดไม่ออกจริงๆๆ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30920 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#2
Post
by snasui » Thu Jul 14, 2011 3:02 pm
catty wrote: อยากทราบว่าถ้าจะทำให้ excell คิดว่าค่าที่ error เนี่ยเป็ฯศูนย์แล้วบวกแค่ค่าที่สมบูรณ์หรือแค่ชั่วโมงที่เครื่องทำงานในแต่ละวันอ่ะค่ะมันจะทำได้ไม
ลองตามนี้ครับ
ที่เซลล์ E30 คีย์
=AVERAGE(IF(ISERROR(E6:E29),0,E6:E29))
การกดแป้นให้รับสูตรต้องกด Ctrl+Shift ค้างไว้ก่อนแล้วตามด้วย Enter > จากนั้น Copy ไปทางขวา การแก้ไขสูตรจะต้องกดแป้นเช่นนี้ทุกครั้ง จะกดเพียง Enter อย่างเดียวไม่ได้ครับ กรณีไม่ใช่คำตอบที่ต้องการ แสดงว่าโจทย์ไม่ถูกต้อง
ให้อธิบายมาใหม่หรือทำตัวอย่างคำตอบมาด้วยจะได้ทราบว่าค่าที่ต้องการคือค่าใด จะได้ง่ายต่อการใช้สูตรหาค่ามาเปรียบเทียบ
catty
Member
Posts: 5 Joined: Thu Jul 14, 2011 11:14 am
#3
Post
by catty » Thu Jul 14, 2011 3:37 pm
ขอบคุณค่ะถึงว่าใช้ iserror แล้วมันไม่คำนวนหาคำตอบไม่ได้สักที แล้วในกรณีที่เครื่องมือมันไม่ได้ทำงาน 24 ชมหล่ะค่ะ แบบว่าตัวอย่างเหมือนในตารางจะสั่งให้ excell คำนวนแค่ 8 ชม(หรือเท่ากับจำนวน ตารางที่ตัวเลขปรากฏน่ะค่ะ) มันสามารถคำนวนได้ไมค่ะ รบกวนอีกมีหน่อยนะค่ะ งงมานานมาก
เราเอา if ซ้อนอีกได้ไมค่ะ แล้ว ใช้ if บอกให้excell ไม่ต้องนับช่องตารางไม่มีค่าตัวเลข มันต้องใช้คำสั่งอะไรค่ะ อาจจะสับสนในคำพูด แต่จะพยายามอธิบายในไฟล์ที่แนบมานะค่ะ หรือว่าจะแยกให้นับจำนวนตารางก่อนค่อยเอามาหารดีค่ะ
snasui
Site Admin
Posts: 30920 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#4
Post
by snasui » Thu Jul 14, 2011 4:04 pm
ผมสรุปเร็ว ๆ นะครับ
Excel ทำได้ทุกอย่างที่ต้องการครับ แล้วแต่ว่าจะใช้ความสามารถของ Excel อย่างเดียวที่มีมาให้แล้ว หรือหากซับซ้อนกว่านั้น คือพึ่งพา Code VBA เข้าไปสั่งให้ทำงาน หรือยากขึ้นไปอีกก็สั่งให้ทำงานร่วมกับ Program อื่น ๆ เช่นนี้เป็นต้น
เพื่อให้เข้าใจตรงกัน แนบไฟล์ตัวอย่าง ระบุคำตอบที่ต้องการมาด้วยครับ จะได้เห็นว่าคำตอบเป็นค่าใด จะได้คำนวณเปรียบเทียบได้
catty
Member
Posts: 5 Joined: Thu Jul 14, 2011 11:14 am
#5
Post
by catty » Thu Jul 14, 2011 4:31 pm
สิ่งที่อยากได้คือที่ไฮไลท์สีส้มค่ะ คืออยากให้มันคำนวนค่าเฉลี่ยออกมา แต่สิ่งต้องการมากกว่านั้นที่ทำให้งงคือ เหมือนตัวอย่างที่ คอลัม E30น่ะค่ะ คือถ้าใส่สูตรaverage แล้วมันจะหารด้วย 24 ตามจำนวนตารางใช่ไมค่ะ แต่สิ่งที่ต้องการคือ ให้มันหาร 8 (8 คือ จำนวน ชม. ที่เครื่องมือทำงานอ่ะค่ะ) ดังนั้นสิ่งที่อยากทำคือสร้างสูตรให้มันหารตามจำนวน ชม. หรือแค่ตามช่องที่มันคำนวนได้แล้วแสดงเป็นตัวเลขออกมาแค่นั้นอ่ะค่ะ ไม่ให้เอาไปหาร 24 (หารตามจำนวนจริงก็พออ่ะค่ะ)
ต้องขอโทษด้วยนะค่ะถ้าอธิบายให้พี่งงๆๆ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30920 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#6
Post
by snasui » Thu Jul 14, 2011 4:41 pm
ลองตามนี้ครับ
ที่ E30 คีย์
=AVERAGE(IF(ISNUMBER(E6:E29),IF(E6:E29<>0,E6:E29,0)))
Ctrl+Shift+Enter > Copy ไปยังเซลล์อื่น ๆ ที่ต้องการคำตอบลักษณะเดียวกัน
Note: การแนบไฟล์แนบเพียงครั้งเดียวพอครับ พบว่าได้แนบซ้ำมาสองรอบแล้ว ที่เห็นเหลือไฟล์เดียวเพราะผมลบออกไปให้ครับ
catty
Member
Posts: 5 Joined: Thu Jul 14, 2011 11:14 am
#7
Post
by catty » Thu Jul 14, 2011 4:49 pm
โห้....ขอบคุณมากค่ะไม่ต้องใช้อะไรซับซ้อนเหมือนที่หนูคิดเลยอ่ะ ขอบคุณมากจริงๆค่ะ