snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
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] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
Peterkrubpom
Member
Posts: 21 Joined: Tue Feb 27, 2018 2:06 pm
#1
Post
by Peterkrubpom » Sat Oct 05, 2019 5:10 pm
อาจารย์ครับ ผมได้ดูสูตรอาจารย์แล้วมันโอเคเลยครับ แต่ผมมีประเด็นว่า หากใช้แบบนี้ พอมีข้อมูลใหม่มาในบรรทัดที่ A11 เราก็ต้องมาปรับใหม่ หรือมีสูตรแก้ไขยังไงครับผม
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31256 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#2
Post
by snasui » Sat Oct 05, 2019 5:58 pm
กรุณาแนบไฟล์ที่ได้ลองทำเองแล้วมาด้วยจะได้สะดวกในการตอบครับ
Peterkrubpom
Member
Posts: 21 Joined: Tue Feb 27, 2018 2:06 pm
#3
Post
by Peterkrubpom » Sat Oct 05, 2019 7:07 pm
ไม่มีครับอาจารย์ ผมถามแค่เผื่อว่ากรณีมีข้อมูลเพิ่ม A11&A12 แสดงว่าเราต้องมาแก้สูตรตั้งแต่ sumproduct(1/(countif(A2:A12,A2:A12)) จากเดิมที่มีถึงแค่ A10 นะครับ เราจะมีเวลาทำเผื่อไว้ทั้ง Column เลยไหมครับ ไว้เผื่อมีข้อมูลใหม่จะได้ไม่ต้องมาแก้นะครับ
ฝากขอทั้งสูตรที่จะ Listing รายการไม่ซ้ำ เหมือนสูตรเก่าอาจารย์ แต่อยากแค่ทำเผื่อทั้ง Column นะครับ
snasui
Site Admin
Posts: 31256 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#4
Post
by snasui » Sat Oct 05, 2019 7:20 pm
ไม่จำเป็นต้องเผื่อไว้ทั้งคอลัมน์ เผื่อไว้เท่าที่ข้อมูลจะขยายไปถึงก็เพียงพอแล้วครับ
สำหรับสูตรใด ๆ จำเป็นจะต้องปรับให้รองรับข้อมูลที่จะเพิ่มลดอยู่เสมอถือเป็นเรื่องปกติที่จะเป็นเข่นนั้นแต่ไม่ใช่เผื่อไว้ทั้งคอลัมน์เพราะจะเป็นการสิ้นเปลืองทรัพยากรโดยใช่เหตุครับ
หากจะปรับให้ครอบคลุมกับข้อมูลที่จะมีได้สามารถปรับสูตรเป็นเช่น
=Sumproduct((A2:A100<>"")/Countif(A2:A200,A2:A100&""))
สูตรอื่น ๆ ก็ปรับในลักษณะเดียวกันคือแค่ขยายช่วงเซลล์ครับ
Peterkrubpom
Member
Posts: 21 Joined: Tue Feb 27, 2018 2:06 pm
#6
Post
by Peterkrubpom » Sat Oct 05, 2019 11:01 pm
อาจารย์ครับ ผมพยายามแก้ไข IF(ROWS($A$4:A4)>Sale!$L$3,"",INDEX(Sale!$B$3:$B$7,SMALL(IF(FREQUENCY(MATCH(Sale!$B$3:$B$7,Sale!$B$3:$B$7,0),ROW(Sale!$B$3:$B$7)-ROW(Sale!$B$3)+1),ROW(Sale!$B$3:$B$7)-ROW(Sale!$B$3)+1),ROWS($A$4:A4))))
สูตรแบบนี้ขยายช่วง Cell ยังไงครับ เหมือนมันไม่ยอมเมื่อ cell ที่เราจะครอบไว้ยังไม่มีข้อมูลนะครับผม
Peterkrubpom
Member
Posts: 21 Joined: Tue Feb 27, 2018 2:06 pm
#7
Post
by Peterkrubpom » Sat Oct 05, 2019 11:06 pm
ฝากอาจารย์ดูใน Sheet "ตำแหน่ง" ผมอยากทำ Cover ไว้สัก 100 row ครับ เช่นใน Sheet " Sale" มีคนเพิ่มมาที่ไม่ซ้ำ ก็อยากให้ขึ้นมาต่อเลยโดยผมไม่ต้องมาแก้ไขเพิ่ม Row ที่จะครอบมันนะครับผม
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31256 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#8
Post
by snasui » Sun Oct 06, 2019 8:22 am
เปลี่ยนเลข 7 เป็น 100 ครับ
ไม่ทราบได้ลองเปลี่ยนแล้วหรือไม่ ถ้ายังไม่ได้ลองให้ลองเปลี่ยนก่อน ติดอะไรช่วยแจ้งมาอีกรอบ จะได้ช่วยดูต่อไปจากนั้นครับ
กรณีมีการ Link ข้ามไฟล์กรุณาแนบไฟล์ต้นทางมาด้วยจะได้เข้าถึงปัญหาโดยไวครับ
Peterkrubpom
Member
Posts: 21 Joined: Tue Feb 27, 2018 2:06 pm
#9
Post
by Peterkrubpom » Sun Oct 06, 2019 1:27 pm
ผมลองแก้ไขแล้วครับ กลายเป็น มัน Error ครับผม ไม่แสดงผมเลยครับ ต้องมาปรับตามจำนวน row ที่มีข้อมูลเท่านั้นครับผม
snasui
Site Admin
Posts: 31256 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#10
Post
by snasui » Sun Oct 06, 2019 1:35 pm
กรุณาแนบไฟล์มาด้วยจะได้เห็นว่ามีลักษณะเป็นอย่างไร จะได้ช่วยกันแนะนำได้ครับ
Peterkrubpom
Member
Posts: 21 Joined: Tue Feb 27, 2018 2:06 pm
#11
Post
by Peterkrubpom » Sun Oct 06, 2019 4:53 pm
ผมลองแก้ไขจากตัวเลข 7 เป็น 100 แต่มันทำให้ File มันเหมือน error ครับผม ฝากด้วยครับผม
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31256 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#12
Post
by snasui » Sun Oct 06, 2019 5:40 pm
ปรับสูตรเป็นด้านล่างครับ
เซลล์ A4 ปรับสูตรเป็นด้านล่างครับ
=IF(ROWS($A$4:A4)>Sale!$L$3,"",INDEX(Sale!$B$3:$B$100,SMALL(IF(FREQUENCY(MATCH("~"&Sale!$B$3:$B$100,Sale!$B$3:$B$100&"",0),ROW(Sale!$B$3:$B$100)-ROW(Sale!$B$3)+1),ROW(Sale!$B$3:$B$100)-ROW(Sale!$B$3)+1),ROWS($A$4:A4))))
Ctrl+Shift+Enter > Copy ลงด้านล่าง
Peterkrubpom
Member
Posts: 21 Joined: Tue Feb 27, 2018 2:06 pm
#14
Post
by Peterkrubpom » Mon Oct 07, 2019 2:15 pm
"~" อาจารย์ครับเครื่องหมายแบบนี้มันหมายถึงอะไรอ่ะครับผม รบกวนด้วยครับผม
snasui
Site Admin
Posts: 31256 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#15
Post
by snasui » Mon Oct 07, 2019 7:19 pm
คำว่า "อ่ะครับ" ให้ใช้คำว่า "ครับ" แทน อ่านกฎการใช้บอร์ดข้อ 1 ด้านบนด้วยครับ
เครื่องหมายที่ถามมาใช้เพื่อเมื่อทำงานกับเซลล์ว่างแล้วไม่ให้เกิดผลลัพธ์เป็นค่าผิดพลาด #N/A ครับ ดูเพิ่มเติมที่นี่ครับ
https://snasui.com/viewtopic.php?t=8597