: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

ไม่ต้องการให้แสดง รายการสินค้าที่เป็น 0 จะเขียนสูตรยังไงคะ

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
แอม
Member
Member
Posts: 13
Joined: Tue Mar 05, 2013 3:03 pm

ไม่ต้องการให้แสดง รายการสินค้าที่เป็น 0 จะเขียนสูตรยังไงคะ

#1

Post by แอม »

รายการ
No.Product Q.
1 A1 12 A1 12
2 A2 9 A2 9
3 A3 5
4 A4 4
5 A5 0
6 A6 7
7 A7 5
8 A8 0
11 A11 1

สินค้าอะไรบ้างที่ขายได้และขายได้เท่าไหร่
P. Q.
A1 12
A3 5
A4 4
A5 0
A6 7
A7 5
0
0
0
A11 1

ต้องการให้ข้ามไม่แสดงรายการสินค้าที่เป็น 0 จะเขียนสูตรยังไงคะ
ถ้าอยากให้แสดงแค่สินค้าที่มีจำนวน
A1 12
A2 9
A3 5
A4 4
A5 5
A6 7
A7 5
A11 1
.................. :?:
joo
Gold
Gold
Posts: 1213
Joined: Sat Apr 17, 2010 3:50 pm

Re: ไม่ต้องการให้แสดง รายการสินค้าที่เป็น 0 จะเขียนสูตรยังไง

#2

Post by joo »

:D ลองแนบไฟล์ตัวอย่างพร้อมเงื่อนไขและคำตอบที่ต้องการมาดูหน่อยครับ
แอม
Member
Member
Posts: 13
Joined: Tue Mar 05, 2013 3:03 pm

Re: ไม่ต้องการให้แสดง รายการสินค้าที่เป็น 0 จะเขียนสูตรยังไง

#3

Post by แอม »

ตัวอย่างข้อมูลค่ะ
You do not have the required permissions to view the files attached to this post.
joo
Gold
Gold
Posts: 1213
Joined: Sat Apr 17, 2010 3:50 pm

Re: ไม่ต้องการให้แสดง รายการสินค้าที่เป็น 0 จะเขียนสูตรยังไง

#4

Post by joo »

:D ลองแบบนี้ดูครับที่ J7 คีย์ =INDEX($C$7:$C$17,MATCH(I7,$B$7:$B$17,0)) Enter >Copyลงด้านล่าง
แอม
Member
Member
Posts: 13
Joined: Tue Mar 05, 2013 3:03 pm

Re: ไม่ต้องการให้แสดง รายการสินค้าที่เป็น 0 จะเขียนสูตรยังไง

#6

Post by แอม »

สามารถใช้ร่วมกับ IF ซ้อน IF ได้ป่าวคะ
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ไม่ต้องการให้แสดง รายการสินค้าที่เป็น 0 จะเขียนสูตรยังไง

#7

Post by bank9597 »

:D ใช้หัดใช้ if ดูครับ เช่นสูตรของคุณ Joo เพิ่ม if ไป จะได้เป็น
ที่ J7 =IF(I7="","",INDEX($C$7:$C$17,MATCH(I7,$B$7:$B$17,0))) คัดลอกลงมา
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
joo
Gold
Gold
Posts: 1213
Joined: Sat Apr 17, 2010 3:50 pm

Re: ไม่ต้องการให้แสดง รายการสินค้าที่เป็น 0 จะเขียนสูตรยังไง

#8

Post by joo »

แอม wrote:สามารถใช้ร่วมกับ IF ซ้อน IF ได้ป่าวคะ
งดใช้ภาษาแซทครับ กรูณาแก้ไขด้วยครับ :D
แอม
Member
Member
Posts: 13
Joined: Tue Mar 05, 2013 3:03 pm

Re: ไม่ต้องการให้แสดง รายการสินค้าที่เป็น 0 จะเขียนสูตรยังไง

#9

Post by แอม »

ขอรบกวนอีกตัวอย่างนะคะ

ขอบคุณค่ะ
You do not have the required permissions to view the files attached to this post.
joo
Gold
Gold
Posts: 1213
Joined: Sat Apr 17, 2010 3:50 pm

Re: ไม่ต้องการให้แสดง รายการสินค้าที่เป็น 0 จะเขียนสูตรยังไง

#10

Post by joo »

:D ช่วยอธิบายเงื่อนไขพร้อมกับคำตอบที่ต้องการในกระทู้ให้ชัดเจนหน่อยครับ
แอม
Member
Member
Posts: 13
Joined: Tue Mar 05, 2013 3:03 pm

Re: ไม่ต้องการให้แสดง รายการสินค้าที่เป็น 0 จะเขียนสูตรยังไง

#11

Post by แอม »

เงื่อนไขมีอยู่ว่า ต้องการแสดง รายการรับเข้าในแต่ละดือน ว่ารับเข้าMaterial Number อะไรบ้าง แล้วรับเข้ามาจำนวนเท่าไหร่ (ดึงข้อมูลจากsheet Baase of Material)ค่ะ
แอมลองใช้คำสั่ง IF ซ้อน IF ดู
เช่น มกราคม ถ้าช่องรับเข้ามากกว่า E3>0 ให้นำค่า A3 มาแสดง ซ้อนไปเรื่อยๆจนครบทุกเดือน
ปัญหาคือ ที่ J5 ช่องE5-E10 (จากsheet Baase of Material)ไม่มีการรับเข้าเลยนำค่าว่างมาแสดงด้วย
ไม่ต้องการให้แสดงค่าว่างนี้ แต่ไม่รู้จะอ้างเซลล์ยังไงค่ะ


ขอบคุณค่ะ
joo
Gold
Gold
Posts: 1213
Joined: Sat Apr 17, 2010 3:50 pm

Re: ไม่ต้องการให้แสดง รายการสินค้าที่เป็น 0 จะเขียนสูตรยังไง

#12

Post by joo »

แอม wrote:เงื่อนไขมีอยู่ว่า ต้องการแสดง รายการรับเข้าในแต่ละดือน ว่ารับเข้าMaterial Number อะไรบ้าง แล้วรับเข้ามาจำนวนเท่าไหร่ (ดึงข้อมูลจากsheet Baase of Material)ค่ะเช่น มกราคม ถ้าช่องรับเข้ามากกว่า E3>0 ให้นำค่า A3 มาแสดง ซ้อนไปเรื่อยๆจนครบทุกเดือน
คำตอบที่ต้องการอยู่ในซีทไหนเซลล์ไหนและใช้เงื่อนไขอะไรเป็นตัวดึงข้อมูลจากsheet Baase of Material มาแสดง เช่น ใช้รหัส หรือ เดือน
แอม wrote:ปัญหาคือ ที่ J5 ช่องE5-E10 (จากsheet Baase of Material)ไม่มีการรับเข้าเลยนำค่าว่างมาแสดงด้วย
ไม่ต้องการให้แสดงค่าว่างนี้ แต่ไม่รู้จะอ้างเซลล์ยังไงค่ะ
ไม่เข้าใจทำไมเซลล์มันซ้อนกัน ลองอธิบายมาใหม่ครับ
แอม
Member
Member
Posts: 13
Joined: Tue Mar 05, 2013 3:03 pm

Re: ไม่ต้องการให้แสดง รายการสินค้าที่เป็น 0 จะเขียนสูตรยังไง

#13

Post by แอม »

ขอโทษค่ะ แอมมองเดือนผิด ที่เดือนกุมภาพันธ์ ที่ J5-J10 (จากsheet Baase of Material) ไม่มีการรับเข้า ทำให้ ในช่อง G8-G15 (sheet สรุปปี 56) ยังคงแสดงเป็นค่าว่าง ค่ะ
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ไม่ต้องการให้แสดง รายการสินค้าที่เป็น 0 จะเขียนสูตรยังไง

#14

Post by bank9597 »

:D ลองดูตามนี้ครับ ว่าใช่ที่ต้องการหรือไม่

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

คีย์ 1-12 ในเซลล์ O2:O13
คีย์ e j o x ac ah aq av ba bj bo bt ตามลำดับลงมาจาก P2:P13
ที่ Q2 คีย์ =VLOOKUP(MONTH(J2&1),O2:P13,2,0)

ที่ K4 คีย์ =IFERROR(INDEX(INDIRECT("'Base of Materil 56'!"&$Q$2&3&":"&$Q$2&100),SMALL(IF(INDIRECT("'Base of Materil 56'!"&$Q$2&3&":"&$Q$2&100)<>"",ROW('Base of Materil 56'!$D$3:$D$100)-ROW('Base of Materil 56'!$D$3)+1),ROWS($K$4:K4))),"") กด Ctrl+Shift+Enter คัดลอกลงมา

ที่ G4 คีย์ =IFERROR(INDEX('Base of Materil 56'!A$3:A$100,SMALL(IF(INDIRECT("'Base of Materil 56'!"&$Q$2&3&":"&$Q$2&100)<>"",ROW('Base of Materil 56'!$D$3:$D$100)-ROW('Base of Materil 56'!$D$3)+1),ROWS($K$4:K4))),"") กด Ctrl+Shift+Enter คัดลอกลงมา

ที่ H4 คีย์ =IFERROR(VLOOKUP(G4,'Base of Materil 56'!$A$3:$B$100,2,0),"") คัดลอกลงมา

ทดสอบเลือกชื่อเดือนที่ต้องการให้แสดงข้อมูลที่ J2
You do not have the required permissions to view the files attached to this post.
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
แอม
Member
Member
Posts: 13
Joined: Tue Mar 05, 2013 3:03 pm

Re: ไม่ต้องการให้แสดง รายการสินค้าที่เป็น 0 จะเขียนสูตรยังไง

#15

Post by แอม »

ที่ G4 คีย์ =IFERROR(INDEX('Base of Materil 56'!A$3:A$100,SMALL(IF(INDIRECT("'Base of Materil 56'!"&$Q$2&3&":"&$Q$2&100)<>"",ROW('Base of Materil 56'!$D$3:$D$100)-ROW('Base of Materil 56'!$D$3)+1),ROWS($K$4:K4))),"") กด Ctrl+Shift+Enter คัดลอกลงมา


รบกวน ช่วยอธิบายคำสั่งตรงนี้เพิ่มหน่อยนะคะ งงๆ ค่ะ

ขอบคุณมากๆนะคะ
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ไม่ต้องการให้แสดง รายการสินค้าที่เป็น 0 จะเขียนสูตรยังไง

#16

Post by bank9597 »

:D ให้อธิบายทั้งหมดคงยาวยืดครับ และต้องมีความรู้หลายๆสูตรเข้ามาผสมกัน

ศึกษาการใช้สูตร Index +Small ในวิดีโอได้เลยครับ ผมได้อธิบายไว้ค่อนข้างละเอียดแล้ว


ส่วนสูตรที่เพิ่มเข้าคือ สูตร Indirect สูตรนี้ใช้เชื่อมคำให้เป็นตำแหน่งเซลล์
เช่น เรามี A กับ 5 อยู่ใน A1และ A2 ตามลำดับ เราใช้สูตร =INDIRECT(A1&A2) ตำคอบที่ได้ก็จะอยู่ในเซลล์ A5 นั่นเอง

สามารถศึกษาเพิ่มเติมได้อีกครับ ผมอธิบายคร่าวให้เห็นภาพเท่านั้น
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
แอม
Member
Member
Posts: 13
Joined: Tue Mar 05, 2013 3:03 pm

Re: ไม่ต้องการให้แสดง รายการสินค้าที่เป็น 0 จะเขียนสูตรยังไง

#17

Post by แอม »

=IF($J$6="มกราคม",IF('Base of Materil 56'!E5>0,'Base of Materil 56'!A5,""),IF($J$6="กุมภาพันธ์",IF('Base of Materil 56'!J5>0,'Base of Materil 56'!A5,""),IF($J$6="มีนาคม",IF('Base of Materil 56'!O5>0,'Base of Materil 56'!A5,""),IF($J$6="เมษายน",IF('Base of Materil 56'!X5>0,'Base of Materil 56'!A5,""),IF($J$6="พฤษภาคม",IF('Base of Materil 56'!AC5>0,'Base of Materil 56'!A5,""),IF($J$6="มิถุนายน",IF('Base of Materil 56'!AH5>0,'Base of Materil 56'!A5,""),IF($J$6="กรกฎาคม",IF('Base of Materil 56'!AQ5>0,'Base of Materil 56'!A5,""),IF($J$6="สิงหาคม",IF('Base of Materil 56'!AV5>0,'Base of Materil 56'!A5,""),IF($J$6="กันยายน",IF('Base of Materil 56'!BA5>0,'Base of Materil 56'!A5,""),IF($J$6="ตุลาคม",IF('Base of Materil 56'!BJ5>0,'Base of Materil 56'!A5,""),IF($J$6="พฤศจิกายน",IF('Base of Materil 56'!BO5>0,'Base of Materil 56'!A5,""),IF($J$6="ธันวาคม",IF('Base of Materil 56'!BT5>0,'Base of Materil 56'!A5,""),""))))))))))))56'!A:BQ,E3),IF($J$6="ธันวาคม",VLOOKUP($G6,'Base of Materil 56'!A:BV,74,0)))))))))))))))

แอมใช้สูตนี้ใน G4 ที่เดือนกุมภาพันธ์ ที่ J5-J10 (จากsheet Baase of Material) ไม่มีการรับเข้า ทำให้ ในช่อง G8-G15 (sheet สรุปปี 56) ยังคงแสดงเป็นค่าว่าง

ต้องขอบคุณมากๆค่ะที่พยายามอธิบาย แต่แอมยังอ่อนมาก นำมาใช้ต่อไม่เป็นค่ะ


ขอบคุณมากๆค่ะ
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ไม่ต้องการให้แสดง รายการสินค้าที่เป็น 0 จะเขียนสูตรยังไง

#18

Post by bank9597 »

:D ลองทวนคำถามใหม่อีกครั้งครับ ตามที่คุณ JOO ได้ถามไปเกี่ยวกับเรื่องคำถาม ซึ่งยังไม่ชัดเจน โดยผมเองก็ไม่มั่นใจว่าที่ตอบไปจะตรงที่ต้องการหรือไม่

แต่การใช้สูตรตามที่คุณแอมเขียนมาแบบนั้น ไม่ใช่แนวทางที่ดีครับ สูตรยาวเกินไปและไม่ยืดหยุ่นครับ
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
แอม
Member
Member
Posts: 13
Joined: Tue Mar 05, 2013 3:03 pm

Re: ไม่ต้องการให้แสดง รายการสินค้าที่เป็น 0 จะเขียนสูตรยังไง

#19

Post by แอม »

ขอบคุณมากๆนะคะ จะพยายามทำความเข้าใจค่ะ

ขอถามต่ออีกนิดนะคะ
ที่ Q2 คีย์ =VLOOKUP(MONTH(J2&1),O2:P13,2,0) ทำไมแอมคีย์แล้วขึ้นค่า #Value! คะ

ขอบคุณค่ะ
joo
Gold
Gold
Posts: 1213
Joined: Sat Apr 17, 2010 3:50 pm

Re: ไม่ต้องการให้แสดง รายการสินค้าที่เป็น 0 จะเขียนสูตรยังไง

#20

Post by joo »

:D ทดสอบกับไฟล์ไหนครับ ลองแนบไฟล์ที่ติดปัญหามาดูกันหน่อยครับจะได้เข้าใจตรงกันครับ
Post Reply