:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

คีย์รหัสและจำนวน ให้แสดงผลรวมของจำนวน

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
wisit
Bronze
Bronze
Posts: 348
Joined: Sun Sep 25, 2011 9:42 pm
Excel Ver: 2019

คีย์รหัสและจำนวน ให้แสดงผลรวมของจำนวน

#1

Post by wisit »

เรียนอาจารย์และผู้รู้ครับ

ผมมีปัญหาในการที่จะคำนวณสูตร โดยสูตรที่ผมคำนวณนั้น ถ้าเราคีย์รหัสในคอลัมน์ C (วอลเปเปอร์) กำหนดฟอร์แมทให้เป็น Text และคีย์จำนวนเงินในคอลัมน์ D กำหนดฟอร์แมทให้เป็น Number

ผมจะใช้สูตร SUMIF โดยให้รวมรหัสในคอลัมน์ C (วอลเปเปอร์) ของลูกค้าในแต่ละเจ้า โดยรวมในแต่ละบิล แต่ปัญหาของผมคือ เมื่อเราคีย์ข้อมูลแล้วเราก๊อปปี้ ซึ่งบางครั้งก๊อปปี้ผิดช่อง ทำให้เราคีย์จำนวนเงินในคอลัมน์ D จากกำหนดฟอร์แมทให้เป็น Number กลายเป็น Text เมื่อเราคีย์จำนวนเงินเข้าไป สูตรจะไม่คำนวณให้เนื่องจากเป็น Text

จะมีวิธีที่จะแก้ไขปัญหานี้หรือเปล่าครับ เพราะต้องคีย์เป็นพัน ๆ แถว หากจะเช็คในแต่ละค่า หรือคิดในแต่ละบิลอาจต้องใช้เวลามาก

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

ผมได้แนบไฟล์ตัวอย่าง ซึ่งจริง ๆ แล้วมีรายชื่อลูกค้ามากกว่านี้ และมีรหัสสินค้ามากกว่านี้
You do not have the required permissions to view the files attached to this post.
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: คีย์รหัสและจำนวน ให้แสดงผลรวมของจำนวน

#2

Post by bank9597 »

:D ควรระบุถึงตำแหน่งเซลล์ที่ต้องการให้แสดงคำตอบและ แสดงตัวอย่างคำตอบมาให้ดูด้วยครับ

จะได้รวดเร็วในการคิดสูตรครับ
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
wisit
Bronze
Bronze
Posts: 348
Joined: Sun Sep 25, 2011 9:42 pm
Excel Ver: 2019

Re: คีย์รหัสและจำนวน ให้แสดงผลรวมของจำนวน

#3

Post by wisit »

คุณ bank9597 ครับ ผมได้แนบไฟล์ และคำตอบที่ต้องการในไฟล์เรียบร้อยแล้วครับ

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

ไฟล์ที่แนบเป็นเพียงตัวอย่าง ซึ่งอาจไม่ได้ทำให้เป็นระบบเท่าไหร่ ต้องขออภัยไว้ ณ ที่นี้ด้วยครับ
You do not have the required permissions to view the files attached to this post.
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: คีย์รหัสและจำนวน ให้แสดงผลรวมของจำนวน

#4

Post by bank9597 »

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

ต้องการให้รวมแบบไหน เพราะที่คุณใช้สูตรมานั้น ผมสงสัยว่ามันถูกต้องแล้วหรือยัง

อนึ่งการออกแบบตาราง ยังทำให้ดูยากและใช้สูตรยากเช่นกัน ลองอธิบายง่ายๆ อะไรเป็นเงื่อนไขหลัก รวมจากช่วงเซลล์ไหน ไปที่เซลล์ไหน เป็นต้น

:mrgreen: ผมไม่กล้าตอบในกรณีที่ยังไม่ทราบปัญหาที่ชัดเจนครับ
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
wisit
Bronze
Bronze
Posts: 348
Joined: Sun Sep 25, 2011 9:42 pm
Excel Ver: 2019

Re: คีย์รหัสและจำนวน ให้แสดงผลรวมของจำนวน

#5

Post by wisit »

ต้องขอโทษคุณ bank9597 ด้วยครับ
คือ เมื่อผมคีย์รหัสสินค้าวอลเปเปอร์ในคอลัมน์ C3:C14991 และคีย์จำนวนเงินในคอลัมน์ D3:D14991 คีย์รหัสผ้าม่านในคอลัมน์ F3:F14991 และคีย์จำนวนเงินในคอลัมน์ G3:G14991 (กำหนดตามสูตรให้คำนวณถึงแถวที่ 14991 ครับ เพราะ จริง ๆ แล้วคีย์ข้อมูลไม่น่าจะถึง 14000 แต่เผื่อไว้ก่อนครับ) ดังตัวอย่างในไฟล์

เมื่อผมคีย์รายชื่อลูกค้าชื่อโอ๋ในคอลัมน์ A ส่วนบิลใบที่คอลัมน์ B ซึ่งอาจจะมี 1 ใบ 2 ใบ จนถึง 50 ใบ เป็นต้น โดยลูกค้าที่ชื่อโอ๋ ผมได้กำหนดอักษรย่อให้เป็นโอ (O) โดยในไฟล์เมื่อผมคีย์รหัส และจำนวนเงิน (ตามไฟล์ที่แนบ) ผมต้องการทราบว่าลูกค้าชื่อโอ๋ บิลที่ 1O รวมเป็นเงินเท่าไหร่ ซึ่งผมได้คำนวณโดยใช้สูตร SUMIF ทำให้ได้ผลลัพธ์ของลูกค้าชื่อโอ๋ บิลที่ 1O เป็นจำนวนเงิน 1,800 บาท

แต่ปัญหาของผมคือ สมมุติเราก๊อปปี้ในเซลในคอลัมน์ C3:C11 และ D3:D11 เพื่อนำไปวางไว้ในคอลัมน์ F3:F11 และ G3:G11 (ไฟล์จริงมีรหัสสินค้าและคอลัมน์มากกว่านี้ ซึ่งการคีย์รหัสสินค้าบางตัวใช้รหัสเหมือนกัน ซึ่งลูกค้าจะสั่งเหมือนกัน แต่จำนวนเงินอาจจะต่างกัน) แต่เราวางผิดคอลัมน์ โดยนำไปวางไว้ในคอลัมน์ G3:G11 และ H3:H11

ทำให้คอลัมน์ G3:G11 ซึ่งเป็นจำนวนเงินจากที่กำหนดดฟอร์แมทให้เป็น Number กลายเป็น Text เมื่อเราลบข้อมูลและคีย์จำนวนเงินเข้าไป สูตรจะไม่คำนวณในคอลัมน์ G3:G11 ให้เนื่องจากเป็น Text พอจะมีวิธีที่ทำให้คำนวณโดยไม่ต้องไปแก้ไขฟอร์แมทให้เป็น Number ไหมครับ

แต่อย่างได้สูตรที่ระบุข้างต้นมากกว่าครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: คีย์รหัสและจำนวน ให้แสดงผลรวมของจำนวน

#6

Post by snasui »

:D
wisit wrote:แต่ปัญหาของผมคือ สมมุติเราก๊อปปี้ในเซลในคอลัมน์ C3:C11 และ D3:D11 เพื่อนำไปวางไว้ในคอลัมน์ F3:F11 และ G3:G11 (ไฟล์จริงมีรหัสสินค้าและคอลัมน์มากกว่านี้ ซึ่งการคีย์รหัสสินค้าบางตัวใช้รหัสเหมือนกัน ซึ่งลูกค้าจะสั่งเหมือนกัน แต่จำนวนเงินอาจจะต่างกัน) แต่เราวางผิดคอลัมน์ โดยนำไปวางไว้ในคอลัมน์ G3:G11 และ H3:H11

ทำให้คอลัมน์ G3:G11 ซึ่งเป็นจำนวนเงินจากที่กำหนดดฟอร์แมทให้เป็น Number กลายเป็น Text เมื่อเราลบข้อมูลและคีย์จำนวนเงินเข้าไป สูตรจะไม่คำนวณในคอลัมน์ G3:G11 ให้เนื่องจากเป็น Text พอจะมีวิธีที่ทำให้คำนวณโดยไม่ต้องไปแก้ไขฟอร์แมทให้เป็น Number ไหมครับ

แต่อย่างได้สูตรที่ระบุข้างต้นมากกว่าครับ
ตัวอย่างสูตรตามด้านล่างครับ

ที่ X13 คีย์

=SUMPRODUCT(--($J$3:$J$12143=O3),$G$3:$G$12143+0)

Enter
wisit
Bronze
Bronze
Posts: 348
Joined: Sun Sep 25, 2011 9:42 pm
Excel Ver: 2019

Re: คีย์รหัสและจำนวน ให้แสดงผลรวมของจำนวน

#7

Post by wisit »

ขอบคุณมากครับอาจารย์ ผมขอรบกวนอีกนิดครับ

คือ เราสามารถใช้สูตรไหนที่จะทำให้คิดจำนวนเงินออกมา โดยเราต้องคีย์รหัสสินค้า และจำนวนเงิน โปรแกรมถึงจะคำนวณจำนวนเงินออกมาให้ หากคีย์เฉพาะจำนวนเงินอย่างเดียว ไม่คีย์รหัสสินค้า สูตรจะไม่คำนวณจำนวนเงินให้
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: คีย์รหัสและจำนวน ให้แสดงผลรวมของจำนวน

#8

Post by snasui »

:D ใช้สูตร If เข้ามาช่วยตรวจสอบครับ เช่น

=If(A1<>"",Sumproduct(...),"")
wisit
Bronze
Bronze
Posts: 348
Joined: Sun Sep 25, 2011 9:42 pm
Excel Ver: 2019

Re: คีย์รหัสและจำนวน ให้แสดงผลรวมของจำนวน

#9

Post by wisit »

อาจารย์ครับเมื่อผมให้สูตร

=IF($C$3:$C$12143<>"",SUMPRODUCT(--($J$3:$J$12143=O3),$D$3:$D$12143+0))

โปรแกรมคำนวณให้แต่เมื่อเราก๊อปปี้ลงด้านล่าง จะขึ้นคำว่า FALSE และเมื่อคีย์ค่าบิลเช่น 2N โปรแกรมก็จะไม่คำนวณจำนวนเงินให้ และถ้าไม่ได้คีย์รหัสสินค้า โปรแกรมก็ยังคำนวณจำนวนเงินให้อยู่ดีครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: คีย์รหัสและจำนวน ให้แสดงผลรวมของจำนวน

#10

Post by snasui »

wisit wrote:อาจารย์ครับเมื่อผมให้สูตร

=IF($C$3:$C$12143<>"",SUMPRODUCT(--($J$3:$J$12143=O3),$D$3:$D$12143+0))

โปรแกรมคำนวณให้แต่เมื่อเราก๊อปปี้ลงด้านล่าง จะขึ้นคำว่า FALSE และเมื่อคีย์ค่าบิลเช่น 2N โปรแกรมก็จะไม่คำนวณจำนวนเงินให้ และถ้าไม่ได้คีย์รหัสสินค้า โปรแกรมก็ยังคำนวณจำนวนเงินให้อยู่ดีครับ
snasui wrote::D ใช้สูตร If เข้ามาช่วยตรวจสอบครับ เช่น

=If(A1<>"",Sumproduct(...),"")
:shock: ไม่ทราบว่าใส่ส่วนประกอบครบตามที่ผมแจ้งไปแล้วยังครับ

ควรจะแนบไฟล์คำถามประกอบด้วยว่าคีย์สูตรที่เซลล์ไหนคำตอบที่ถูกต้องเป็นค่าใด จะได้เข้าใจตรงกัน
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: คีย์รหัสและจำนวน ให้แสดงผลรวมของจำนวน

#11

Post by snasui »

wisit wrote: =IF($C$3:$C$12143<>"",SUMPRODUCT(--($J$3:$J$12143=O3),$D$3:$D$12143+0))
สูตรนี้ไม่ถูกต้องตรงที่ระบายสีแดงครับ ควรอ้างเซลล์ใดเซลล์หนึ่งไม่ใช่อ้างช่วงเซลล์ และควรอ่านความเห็นด้านบนประกอบด้วยครับ :aru:
wisit
Bronze
Bronze
Posts: 348
Joined: Sun Sep 25, 2011 9:42 pm
Excel Ver: 2019

Re: คีย์รหัสและจำนวน ให้แสดงผลรวมของจำนวน

#12

Post by wisit »

อาจารย์ครับผมได้แนบไฟล์แล้วครับ และได้แก้ไขสูตรโดยอ้างเซลใดเซลหนึ่ง แต่ผมสงสัยว่าเราคีย์ในแต่ละบิลบางบิลก็มีมากกว่า 20 เซล บางบิลก็ประมาณ 10 เซล แต่ผมลองอ้างเซลใดเซลหนึ่ง โปรแกรมก็คำนวณได้จำนวนเงินตรงครับ แต่รหัสสินค้าผ้าม่านกลับคำนวณไม่ได้ครับ และถ้าไม่ใส่รหัสสินค้า โปรแกรมก็ยังคำนวณจำนวนเงินให้อยู่ดีครับ

สงสัยสูตรจะผิด แต่ผมไม่รู้จะแก้ไขอย่างไรดีครับ รบกวนอาจารย์ด้วยครับ
You do not have the required permissions to view the files attached to this post.
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: คีย์รหัสและจำนวน ให้แสดงผลรวมของจำนวน

#13

Post by bank9597 »

:D ไปทำธุระมา กลับมาเลยได้ช่วยนิดหน่อย หวังว่าคงทันเวลาครับ

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

ส่วนที่ติดปัญหาอยู่ ลองแกะสูตรนี้นำไปใช้ดูครับ

ที่เซลล์ W13 คีย์ =SUM(IF($J$3:$J$12143=O3,IF($C$3:$C$12143<>"",$D$3:$D$12143+0,""))) กด Ctrl+Shift+Enter คัดลอกลงมา
ที่เซลล์ X13 คีย์ =SUM(IF($J$3:$J$12143=O3,IF($F$3:$F$12143<>"",$G$3:$G$12143+0,""))) กด Ctrl+Shift+Enter คัดลอกลงมา

หรือ ปรับจากสูตรเดิม

ที่เซลล์ W13 คีย์ =SUMPRODUCT(--($J$3:$J$12143=O3),--($C$3:$C$12143<>""),$D$3:$D$12143+0) คัดลอกลงมา
ที่เซลล์ X13 คีย์ =SUMPRODUCT(--($J$3:$J$12143=O3),--($F$3:$F$12143<>""),$G$3:$G$12143+0) คัดลอกลงมา

ส่วนอื่นๆ ลองปรับสูตรไปใช้ดูครับ
You do not have the required permissions to view the files attached to this post.
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
wisit
Bronze
Bronze
Posts: 348
Joined: Sun Sep 25, 2011 9:42 pm
Excel Ver: 2019

Re: คีย์รหัสและจำนวน ให้แสดงผลรวมของจำนวน

#14

Post by wisit »

ขอบคุณท่านอาจารย์และคุณ bank9597 มากครับ ทำได้แล้วครับ

มีเรื่องรบกวนถามนิดนึงครับ สูตร
=SUMPRODUCT(--($J$3:$J$12143=O3),--($C$3:$C$12143<>""),$D$3:$D$12143+0)

มีผลทำให้เครื่องทำงานช้าไหมครับ
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: คีย์รหัสและจำนวน ให้แสดงผลรวมของจำนวน

#15

Post by bank9597 »

wisit wrote:ขอบคุณท่านอาจารย์และคุณ bank9597 มากครับ ทำได้แล้วครับ

มีเรื่องรบกวนถามนิดนึงครับ สูตร
=SUMPRODUCT(--($J$3:$J$12143=O3),--($C$3:$C$12143<>""),$D$3:$D$12143+0)

มีผลทำให้เครื่องทำงานช้าไหมครับ
:D ผมเคยถามอาจารย์คนควนในคำถามประมาณนี้ คำตอบคือ อยู่ที่จำนวนของข้อมูล และสูตรที่ใช้งาน หากเป็นสูตรอาร์เรย์ เช่น
=SUM(IF($J$3:$J$12143=O3,IF($C$3:$C$12143<>"",$D$3:$D$12143+0,""))) ใช้กับข้อมูลปริมาณมากๆ ก็จะทำให้ช้า

ในกรณีใช้สูตร
=SUMPRODUCT(--($J$3:$J$12143=O3),--($C$3:$C$12143<>""),$D$3:$D$12143+0) ก็จะเร็วกว่าสูตรแรก แต่เนื่องจากสูตรต้องแปลง Text ให้เป็น number โดยการ +0 เข้าไป ก็จะทำให้ช้าลงไปอีกครับ


ต่อไปคือข้อมูล ในกรณีที่ข้อมูลจริงมีอยู่ไม่มาก เช่น 100 บรรทัด คุณควรกำหนดในสูตร แค่ 100 บรรทัด ตามจำนวนข้อมูลจริง ไม่ควรเผื่อบรรทัดไปมากเกินไปเช่น J3:J1214 แบบนี้ถือว่าเกินจำเป็น เพราะข้อมูลจริงมีแค่ 50 กว่าบรรทัด เป็นต้น

วิธีแก้คือการสร้าง rangname แบบไดนามิค จะช่วยได้เยอะ และก็ต้องมีวิธีการสร้าง rangeName อีกว่า สร้างอย่างไรจึงจะไม่ทำให้โปรแกรมทำงานช้า


ต่อมาคือทรัพยากรของเครื่อง และ เวอร์ชันเอ้กเซลล์ที่ใช้งาน
คอมสมัยใหม่นี้ไม่น่าจะมีปัญหาครับ สเป็คพื้นฐานก็เพียงพอเหลือเฟือต่อการใช้งานโปรแกรมเอ้กเซลล์แล้วครับ เว้นแต่เวลาให้โปรแกรมคำนวน เราดันเปิดโปรแกรมอื่นๆหนักๆไว้ด้วย เช่น IE Firefox ตระกูลตัดต่อ รีทัชภาพ เป็นต้น ก็มีส่วนในการคำนวนของโปรแกรมเช่นกัน

ต่อมาเวอร์ชั่น ควรเป็นเวอร์ชั่นที่ใหม่ เช่น 2007-2010 เวอร์ชั่นเหล่านนี้ถูกพัฒนามาค่อนข้างดีมาก สามารถทำงานได้รวดเร็ว เก็บข้อมูลได้เยอะขึ้นครับ

อย่างไรก็ตาม การสร้างตารางเก็บข้อมูลที่ถุกวิธีก็เป็นส่วนสำคัญอันดับต้นๆที่ต้องคำนึงถึง การเก็บข้อมูลดิบไว้เป็นฐานข้อมูล แล้วดึงมาแสดง เหล่านี้ต้องศึกษาจากเรื่องการสร้างฐานข้อมูลดูครับ

รอดูท่านอื่นๆมาให้ความเห็นอีกครับ :D
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
wisit
Bronze
Bronze
Posts: 348
Joined: Sun Sep 25, 2011 9:42 pm
Excel Ver: 2019

Re: คีย์รหัสและจำนวน ให้แสดงผลรวมของจำนวน

#16

Post by wisit »

ขอบคุณมากครับคุณ bank9597 สำหรับคำแนะนำที่ดี ๆ ทำให้ผมได้รับความรู้เพิ่มมากขึ้น ขอบคุณมากครับ :D
wisit
Bronze
Bronze
Posts: 348
Joined: Sun Sep 25, 2011 9:42 pm
Excel Ver: 2019

Re: คีย์รหัสและจำนวน ให้แสดงผลรวมของจำนวน

#17

Post by wisit »

เรียนอาจารย์และคุณ bank9597

ผมได้ลองนำสูตร =SUMPRODUCT(--($J$3:$J$12143=O3),--($C$3:$C$12143<>""),$D$3:$D$12143+0)
ไปใช้กับงานจริงของผม (ตอนแรกลองในไฟล์ตัวอย่างใช้ได้)

ผมนำสูตรไปลองกับลูกค้าคนแรก (ลูกค้าอีก 18 คนยังไม่ได้แทนสูตรลงไป)ปรากฎว่าตอนแรกโปรแกรมมันก็รันลูกค้าคนแรกได้ตรงตามที่ต้องการ แต่พอทำสูตรจนครบทั้งหมด 19 รายชื่อ พอลองนำข้อมูลที่คีย์เมื่อเดือนที่แล้ว วางลงในโปรแกรมปรากฎว่าสูตรข้างบนนั้นมันขึ้นคำว่า #VALUE! เหมือนกับว่าเราใช้ Argument หรือ Operator ผิดรูปแบบ ทั้งที่ผมก็ระบุตำแหน่งถูกต้องตามสูตรข้างบน :oops:

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

รบกวนอาจารย์ คุณ bank9597 และผู้รู้ช่วยหาสูตรที่ไม่ทำให้โปรแกรมทำงานช้าหน่อยครับ (ถ้าไม่ได้ก็ไม่เป็นไรครับ :mrgreen: )
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: คีย์รหัสและจำนวน ให้แสดงผลรวมของจำนวน

#18

Post by bank9597 »

:D ลองแนบไฟล์มาดูครับ

เนื่องจากไม่ใช้ VBA ผมจึงสามารถช่วยตอบให้ได้ โดยจะไม่ผิดกฏที่อาจารย์ได้กำหนดไว้ครับ
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
wisit
Bronze
Bronze
Posts: 348
Joined: Sun Sep 25, 2011 9:42 pm
Excel Ver: 2019

Re: คีย์รหัสและจำนวน ให้แสดงผลรวมของจำนวน

#19

Post by wisit »

คุณ bank9597 ครับ ไฟล์ที่ผมแนบมาให้แล้วครับ (ซิพมานะครับเพราะไฟล์มันใหญ่เกิน) จริง ๆ มีรายชื่อทั้งหมด 19 รายชื่อ แต่ผมทำเพียง 2 ชื่อเท่านั้น แต่เมื่อเราคีย์ข้อมูลบางครั้ง 10 รหัส เสร็จแล้ว โปรแกรมยังรันการคีย์อยู่เลย และต้องรอให้คำนวณก่อนถึงจะทำงานต่อได้

พอมีวิธีที่จะใช้สูตรอื่นที่ทำให้เครื่องทำงานได้เร็วไหมครับ ส่วนวิธีที่คุณ bank9597 แนะนำ คือ rangeName ผมไม่รู้ว่าคืออะไร


ส่วนตัวอยากได้สูตรที่ทำให้การคีย์ข้อมูลและการคำนวณเร็วขึ้น ซึ่งไฟล์ที่แนบมานั้นผมได้ลบไป 1 ชีท (ชีทที่ลบคือ ชีทที่รวมยอดของชีทแต่ละคน มารวมเป็นเงินทั้งหมดแค่นั้น ซึ่งผมคิดว่าไม่น่าจะมีผลต่อการทำงาน เพราะใช้แค่สูตร SUM อย่างเดียว แต่แค่ข้ามชีทเท่านั้น :mrgreen:

รบกวนอาจารย์ คุณ bank9597 และผู้รู้ช่วยด้วยครับ :oops:
You do not have the required permissions to view the files attached to this post.
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: คีย์รหัสและจำนวน ให้แสดงผลรวมของจำนวน

#20

Post by bank9597 »

:D กฏข้อนึงที่คุณควรรู้ในการใช้สูตรคือ หากคุณกำหนดช่วงเซลล์ไว้เท่าไหร่ คุณก็ควรกำหนดไว้เท่านั้นทั้งหมดในสูตร ยกตัวอย่าง
=SUMPRODUCT(--($S$3:$S$12143=U3),--($F$3:$F$11909<>""),$G$3:$G$11909+0)
ควรปรับเป็น
=SUMPRODUCT(--($S$3:$S$11909=U3),--($F$3:$F$11909<>""),$G$3:$G$11909+0)

สูตรถึงจะจะคำนวนค่าออกมาได้
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
Post Reply