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]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
pum_puy
Member
Posts: 37 Joined: Sun Sep 16, 2012 10:59 am
#1
Post
by pum_puy » Sun Oct 14, 2012 9:59 pm
ขอคำแนะนำด้วยครับ
ผมต้องการกำหนดพื้นที่เอาไว้ก่อนแต่มันไม่แสดงตามความต้องการ
แบบนี้จะแก้ไขอย่างไรได้บ้างครับ
ขอบคุณครับ
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 » Sun Oct 14, 2012 10:28 pm
กรณีมีค่าว่างอยู่ด้วย ต้องเปลี่ยนสูตรใหม่ครับ
ลองตามนี้ครับ
ที่ B1 คีย์
=SUMPRODUCT((A2:A32<>"")/COUNTIF(A2:A32,A2:A32&""))
Enter
ที่ B2 คีย์
=IF(ROWS($B$3:B3)>$B$1,"",INDEX($A$2:$A$32,SMALL(IF(FREQUENCY(IF($A$2:$A$32<>"",MATCH($A$2:$A$32,$A$2:$A$32,0)),ROW($A$2:$A$32)-ROW($A$2)+1),ROW($A$2:$A$32)-ROW($A$2)+1),ROWS($B$3:B3))))
Ctrl+Shift+Enter > Copy ลงด้านล่าง
pum_puy
Member
Posts: 37 Joined: Sun Sep 16, 2012 10:59 am
#3
Post
by pum_puy » Wed Oct 31, 2012 7:41 pm
สอบถามเพิ่มเติมรบกวนแนะนำด้วยครับ
part numberและcustomer ให้ข้อมูลแสดงอัตโนมัติเหมือนตารางด้านบนและแยกให้ด้วยว่ามีกี่ราย
รายละเอียดตามไฟล์แนบครับ
ขอบคุณครับ
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:
#4
Post
by snasui » Wed Oct 31, 2012 8:09 pm
ลองตามนี้ครับ
เซลล์ I15 คีย่์
=SUMPRODUCT(--(LOOKUP(CHAR(255),$G$15:$G15)=$C$3:$C$26),--($H15=$B$3:$B$26),--(I$14=$A$3:$A$26),$D$3:$D$26)
Enter > Copy ไปทางขวาและลงด้านล่าง
pum_puy
Member
Posts: 37 Joined: Sun Sep 16, 2012 10:59 am
#5
Post
by pum_puy » Wed Oct 31, 2012 10:04 pm
สอบถามเพิ่มเติมครับ
1.ที่ G10 ผมเขียนสูตรให้หาค่าซ้ำแล้วแสดงผลแล้วที่ G22 ใช้วิธีเดียวกันได้ใช้หรือเปล่าครับ
2. ที่ช่อง Customer ต้องการให้แสดงผลอัตโนมัติเมื่อมีคำสั่งซื้อของลูกค้าใหม่มาเพิ่มก็ให้แสดงชื่อลูกค้าขึ้นมาเลย
เช่นpart_number 014302-1450 ถ้ามีลูกค้ารายใหม่เข้ามาก็ให้แสดงชื่อลูกค้า จำนวนและ กำหนดส่งในตารางเลยไม่ต้องมาพิมพ์ชื่อลูกค้าเข้าไปอีก
ขอบคุณครับ
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 » Wed Oct 31, 2012 10:46 pm
ลองตามนี้ครับ
เซลล์ H22 คีย์สูตร
=LOOKUP(CHAR(255),CHOOSE({1,2},"",INDEX($B$10:$B$588,SMALL(IF(FREQUENCY(IF($B$10:$B$588<>"",MATCH($B$10:$B$588&$C$10:$C$588,$B$10:$B$588&$C$10:$C$588,0)),ROW($B$10:$B$588)-ROW($B$10)+1),ROW($B$10:$B$588)-ROW($B$10)+1),ROWS($H$22:H22)))))
Ctrl+Shift+Enter > Copy ลงด้านล่าง
ที่ G22 คีย์สูตร
=IF(INDEX($C$10:$C$588,SMALL(IF(FREQUENCY(IF($B$10:$B$588<>"",MATCH($B$10:$B$588&$C$10:$C$588,$B$10:$B$588&$C$10:$C$588,0)),ROW($B$10:$B$588)-ROW($B$10)+1),ROW($B$10:$B$588)-ROW($B$10)+1),ROWS($H$22:H22)))=LOOKUP(2,1/(G$21:G21<>""),G$21:G21),"",INDEX($C$10:$C$588,SMALL(IF(FREQUENCY(IF($B$10:$B$588<>"",MATCH($B$10:$B$588&$C$10:$C$588,$B$10:$B$588&$C$10:$C$588,0)),ROW($B$10:$B$588)-ROW($B$10)+1),ROW($B$10:$B$588)-ROW($B$10)+1),ROWS($H$22:H22))))
Ctrl+Shift+Enter > Copy ลงด้านล่าง
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#7
Post
by bank9597 » Wed Oct 31, 2012 11:41 pm
snasui wrote: ลองตามนี้ครับ
เซลล์ H22 คีย์สูตร
=LOOKUP(CHAR(255),CHOOSE({1,2},"",INDEX($B$10:$B$588,SMALL(IF(FREQUENCY(IF($B$10:$B$588<>"",MATCH($B$10:$B$588&$C$10:$C$588,$B$10:$B$588&$C$10:$C$588,0)),ROW($B$10:$B$588)-ROW($B$10)+1),ROW($B$10:$B$588)-ROW($B$10)+1),ROWS($H$22:H22)))))
Ctrl+Shift+Enter > Copy ลงด้านล่าง
ที่ G22 คีย์สูตร
=IF(INDEX($C$10:$C$588,SMALL(IF(FREQUENCY(IF($B$10:$B$588<>"",MATCH($B$10:$B$588&$C$10:$C$588,$B$10:$B$588&$C$10:$C$588,0)),ROW($B$10:$B$588)-ROW($B$10)+1),ROW($B$10:$B$588)-ROW($B$10)+1),ROWS($H$22:H22)))=LOOKUP(2,1/(G$21:G21<>""),G$21:G21),"",INDEX($C$10:$C$588,SMALL(IF(FREQUENCY(IF($B$10:$B$588<>"",MATCH($B$10:$B$588&$C$10:$C$588,$B$10:$B$588&$C$10:$C$588,0)),ROW($B$10:$B$588)-ROW($B$10)+1),ROW($B$10:$B$588)-ROW($B$10)+1),ROWS($H$22:H22))))
Ctrl+Shift+Enter > Copy ลงด้านล่าง
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
pum_puy
Member
Posts: 37 Joined: Sun Sep 16, 2012 10:59 am
#8
Post
by pum_puy » Thu Nov 01, 2012 12:00 am
เกิดปัญหาใหม่ครับ
แสดงข้อมูลไม่ครบแสดงเฉพาะลูกค้ารายแรกเท่านั้นครับก่อนหน้านี้ที่แนะนำข้อมูลถูกต้อง
รบกวนชี้แนะด้วยครับ
ขอบคุณครับ
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:
#9
Post
by snasui » Thu Nov 01, 2012 6:53 am
ลองตามนี้ครับ
เซลล์ I22 คีย่์
=SUMPRODUCT(--(LOOKUP(2,1/($G$22:$G22<>""),$G$22:$G22)=$C$3:$C$26),--($H22=$B$3:$B$26),--(I$21=$A$3:$A$26),$D$3:$D$26)
Enter > Copy ไปด้านขวาและลงด้านล่าง
คน-ควนรู
Member
Posts: 37 Joined: Sun Dec 12, 2010 1:47 pm
#10
Post
by คน-ควนรู » Thu Nov 01, 2012 3:34 pm
bank9597 wrote: snasui wrote: ลองตามนี้ครับ
เซลล์ H22 คีย์สูตร
=LOOKUP(CHAR(255),CHOOSE({1,2},"",INDEX($B$10:$B$588,SMALL(IF(FREQUENCY(IF($B$10:$B$588<>"",MATCH($B$10:$B$588&$C$10:$C$588,$B$10:$B$588&$C$10:$C$588,0)),ROW($B$10:$B$588)-ROW($B$10)+1),ROW($B$10:$B$588)-ROW($B$10)+1),ROWS($H$22:H22)))))
Ctrl+Shift+Enter > Copy ลงด้านล่าง
ที่ G22 คีย์สูตร
=IF(INDEX($C$10:$C$588,SMALL(IF(FREQUENCY(IF($B$10:$B$588<>"",MATCH($B$10:$B$588&$C$10:$C$588,$B$10:$B$588&$C$10:$C$588,0)),ROW($B$10:$B$588)-ROW($B$10)+1),ROW($B$10:$B$588)-ROW($B$10)+1),ROWS($H$22:H22)))=LOOKUP(2,1/(G$21:G21<>""),G$21:G21),"",INDEX($C$10:$C$588,SMALL(IF(FREQUENCY(IF($B$10:$B$588<>"",MATCH($B$10:$B$588&$C$10:$C$588,$B$10:$B$588&$C$10:$C$588,0)),ROW($B$10:$B$588)-ROW($B$10)+1),ROW($B$10:$B$588)-ROW($B$10)+1),ROWS($H$22:H22))))
Ctrl+Shift+Enter > Copy ลงด้านล่าง
ซุปเปอร์อาจารย์
biggrape
Member
Posts: 61 Joined: Wed Apr 07, 2010 2:13 am
Excel Ver: 2010
#11
Post
by biggrape » Fri Nov 02, 2012 11:02 pm
สงสัยครับ ว่า COUNTIF(A2:A32,A2:A32&"")) Criteria A2:A32&"" แปลว่าอะไร ???
snasui
Site Admin
Posts: 30920 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#12
Post
by snasui » Fri Nov 02, 2012 11:13 pm
A2:A32&"" เป็นการนำช่วงข้อมูล A2:A32 มาเชื่อมด้วยค่าว่างครับ ที่ต้องเชื่อมกับค่าว่างเพื่อที่ว่าให้นับค่าว่างเข้าไปด้วยและไม่แสดงผลการนับเป็น 0 หากไม่เชื่อมค่าว่างเข้าไปจะนับเซลล์ว่างเป็น 0 ซึ่งจะเห็นได้ว่า Countif เป็นตัวหาร และเมื่อตัวหารเป็น 0 หากเอาไปใช้ในสูตรด้านล่างคือ
=SUMPRODUCT((A2:A32<>"")/COUNTIF(A2:A32,A2:A32))
ผลลัพธ์จะได้ #Div/0! จึงต้องแก้ไขด้วยการเชื่อมค่าว่างเข้าไปเพื่อไม่ให้ติด Error ดังกล่าวครับ
pum_puy
Member
Posts: 37 Joined: Sun Sep 16, 2012 10:59 am
#13
Post
by pum_puy » Mon Nov 12, 2012 8:12 pm
รบกวนท่านผู้รู้แนะนำด้วยครับ
ต้องการให้แสดงข้อมูลแบบอัตโนมัติโดยที่เรากำหนดรูปแบบของตารางใส่ข้อมูลเอาไว้ก่อน
ขอบคุณครับ
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:
#14
Post
by snasui » Mon Nov 12, 2012 8:23 pm
ลองตามนี้ครับ
ที่ D15 คีย์
=IF($E15=$E$15,INDEX(list!$B$2:$B$6152,SMALL(IF(FREQUENCY(IF(list!$B$2:$B$6152<>"",MATCH(list!$B$2:$B$6152,list!$B$2:$B$6152,0)),ROW(list!$B$2:$B$6152)-ROW($D$4)+1),ROW(list!$B$2:$B$6152)-ROW($D$4)+1),COUNTIF(E$15:E15,"Delivery"))),"")
Ctrl+Shift+Enter > Copy ลงด้านล่าง
pum_puy
Member
Posts: 37 Joined: Sun Sep 16, 2012 10:59 am
#15
Post
by pum_puy » Sat Jan 19, 2013 11:30 am
ขอบคุณครับ
pum_puy
Member
Posts: 37 Joined: Sun Sep 16, 2012 10:59 am
#16
Post
by pum_puy » Sat Jan 19, 2013 10:53 pm
เรียนท่านผู้รู้
ต้องการหารายการซ้ำซึ้งมีข้อมูลอยู่หลาย sheetให้แสดงค่าอัตโนมัติ
ต้องหาผลรวมของแต่ละ part โดยให้ข้อมูลแสดงโดยอัตโนมัติครับ
รบกวนแนะนำด้วยครับ
You do not have the required permissions to view the files attached to this post.
วังวู ช่ง
Silver
Posts: 805 Joined: Thu May 31, 2012 2:27 pm
Location: Laos
Excel Ver: MS Excel for office 365 MSO
Contact:
#18
Post
by วังวู ช่ง » Tue Jan 22, 2013 10:46 am
[/quote]
ซุปเปอร์อาจารย์
[/quote]
จิงครับ ต้องยอมรับ และนับถืครับ ในส่วนของ VBA ก่อซุปเปอร์จิงๆครับ
นับถือมากครับ
bank9597
Guru
Posts: 3868 Joined: Wed Aug 17, 2011 11:49 am
#19
Post
by bank9597 » Tue Jan 22, 2013 7:02 pm
วังวู ช่ง wrote:
ซุปเปอร์อาจารย์
[/quote]
จิงครับ ต้องยอมรับ และนับถืครับ ในส่วนของ VBA ก่อซุปเปอร์จิงๆครับ
นับถือมากครับ[/quote]
Forum Rules
อย่าใช้ภาษาแชทในการตอบ-ถาม
ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
pum_puy
Member
Posts: 37 Joined: Sun Sep 16, 2012 10:59 am
#20
Post
by pum_puy » Sun Jan 27, 2013 6:36 pm
ถ้าติดปัญหาอะไรแล้วจะรบกวนอาจารย์อีกทีครับ
ขอบคุณครับ