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] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
banlup.
Member
Posts: 4 Joined: Tue Apr 14, 2020 5:21 pm
#1
Post
by banlup. » Tue Apr 14, 2020 5:50 pm
เรียน อาจารย์และสมาชิกทุกท่าน
ผมขอรบกวนสอบถามวิธีการหาคำตอบมากกว่า 1 ค่าด้วยสูตร Array ครับ เนื่องจากต้องการว่า เมื่อคีย์ Code สินค้าเข้าไปแล้วให้
ไฟล์ Excel แสดงผลที่จัดเก็บ ซึ่งมีมากกว่า 1 ที่ครับ โดยเรียงที่จัดเก็บตามตัวอักษรครับ ทั้งนี้ได้แนบไฟล์ตัวอย่างมาเพื่อรบกวนช่วยหาคำตอบให้ด้วยครับ
หมายเหตุ เบื้องต้นผมได้ลองศึกษาและลองใส่สูตรทำตามที่อาจารย์ได้แนะนำในเว็บไซต์แต่ผมยังไม่เก่งสูตร Array จึงไม่สามารถแสดงผลได้ตามต้องการครับรบกวนชี้แนะด้วยครับ
wordpress/vlookup-multiple-values/
ขอบพระคุณครับ
You do not have the required permissions to view the files attached to this post.
Bo_ry
Gold
Posts: 1245 Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:
#2
Post
by Bo_ry » Tue Apr 14, 2020 6:57 pm
D4
=IFERROR(INDEX(Location!$D$3:$D$22,MOD(SMALL(IF(Location!$B$3:$B$22=$B4,COUNTIF(Location!$D$3:$D$22,"<"&Location!$D$3:$D$22)*1000+ROW(Location!$B$3:$B$22)-ROW(Location!$B$2)),COLUMNS($D3:D3)),1000)),"")
You do not have the required permissions to view the files attached to this post.
banlup.
Member
Posts: 4 Joined: Tue Apr 14, 2020 5:21 pm
#3
Post
by banlup. » Wed Apr 15, 2020 8:51 am
เรียน คุณ Bo_ry
ผมทดลองสูตร Array ที่ช่วยให้คำตอบมาแล้ว ตรงกับความต้องการเลยครับ
ขอบพระคุณมากครับ ผมจะนำไปปรับใช้ดูหากติดขัดตรงไหนผมจะขอสอบถามอีกครั้งครับ
ขอบคุณมากครับ
banlup.
Member
Posts: 4 Joined: Tue Apr 14, 2020 5:21 pm
#4
Post
by banlup. » Wed Apr 15, 2020 10:36 am
เรียน คุณ Bo_ry และสมาชิกทุกท่าน
รบกวนช่วยดูไฟล์ให้ด้วยครับ จากไฟล์ที่คุณ Bo_ry ช่วยดูและแก้ไขให้ เนื่องจากใน Sheet Location ผมมีที่เก็บสินค้าประมาณ 2,000 Location
ผมจึงลองแก้ไขสูตรดูเพื่อเพิ่ม Range ปรากฎว่า ไม่สามารถแก้ได้ เนื่องจาก สูตร Countif ที่ Sheet Location ผูกติดกับสูตร Array อยู่
รบกวนชี้แนะด้วยครับ ว่าต้องแก้ไขแบบไหนครับ เพื่อให้สูตรสามารถดึงค่าได้ถึง Row ที่ 2,000 ครับ
ขอบคุณมากครับ
You do not have the required permissions to view the files attached to this post.
Bo_ry
Gold
Posts: 1245 Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:
#5
Post
by Bo_ry » Wed Apr 15, 2020 10:51 am
D4
=IFERROR(INDEX(Location!$D$3:$D$3000,MOD(SMALL(IF(Location!$B$3:$B$3000=$B4,COUNTIF(Location!$D$3:$D$3000,"<"&Location!$D$3:$D$3000)*10^5+ROW(Location!$B$3:$B$3000)-ROW(Location!$B$2)),COLUMNS($D3:D3)),10^5)),"")
banlup.
Member
Posts: 4 Joined: Tue Apr 14, 2020 5:21 pm
#6
Post
by banlup. » Fri Apr 17, 2020 12:02 pm
เรียน คุณ Bo_ry
สามารถใช้งานได้แล้วครับ ขอบคุณมากครับ หากมีข้อสงสัยจะสอบถามในกระทู้ใหม่ครับ
ขอบคุณมากครับผม