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]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
Excel
Member
Posts: 9 Joined: Sun Feb 13, 2011 9:55 am
#1
Post
by Excel » Thu Feb 17, 2011 7:15 pm
ผมเคยใช้แต่ vlookup เพื่อใช้คืนค่าที่แมตช์ได้ภายในแถวเดียวกันโดยจะต้องมีพื้นที่ติดกันและใช้คอลัมน์แรกในการแมตช์ และระบุตำแหน่งของคอลัมน์ที่ต้องการคืนค่า ... ไม่แน่ใจว่านิยามถูกเปล่า
แต่ lookup ใช้แตกต่างกันอย่างไร หรือใช้เหมือนกัน แต่สามารถใช้สำหรับพื้นที่ที่มันไม่ติดกันได้ ใช่หรือเปล่าครับ
รบกวนด้วย
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 » Thu Feb 17, 2011 7:29 pm
ที่เขียนมาถูกไปหลายส่วนเลย มาเพิ่มให้อีกหน่อยครับ
Vlookup
• สามารถหาค่าแบบตรงตัวได้ ใกล้เคียงก็ได้ ถ้าหาค่าแบบใกล้เคียงข้อมูลต้องเรียงจากน้อยไปหามากเท่านั้น
• ปกติแล้วจะหาค่าจากซ้ายไปขวา
Lookup
• หาค่าที่น้อยกว่าหรือเท่ากับค่าที่ต้องการ
• หาค่าจากซ้ายไปขวาหรือขวาไปซ้ายก็ได้
• ข้อมูลจำเป็นจะต้องเรียงจากน้อยไปหามากเท่านั้น
Excel
Member
Posts: 9 Joined: Sun Feb 13, 2011 9:55 am
#3
Post
by Excel » Thu Feb 17, 2011 7:54 pm
อึมห์.. พอดีผมได้เข้าไปอ่านที่คุณคนควนเขียนไว้ในบล๊อก... ไม่แน่ใจว่าใช้ไงก็เลยเอามาถามตอนนี้พอเข้าใจละว่า lookup ต่างจาก vlookup ตรงที่ไม่จำเป็นต้องให้พื้นที่ที่จะคืนค่าติดกับพื้นที่ๆจะlookup... แถมสามารถเป็นคนละแนวกันได้ด้วย (lookup แนวตั้ง คืนค่าแนวนอน)
แต่ว่าทำแบบขวามาซ้าย(ถอยหลัง)นี่ทำอย่างไรครับ(เขียนอย่างไร)
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 » Thu Feb 17, 2011 8:33 pm
ลองส่งไฟล์ตัวอย่างการหาค่าจากขวาไปซ้ายมาดูครับ เพื่อจะได้เขียนตัวอย่างสูตรให้เห็นภาพชัดเจนมากขึ้นครับ
nongmaw
Member
Posts: 7 Joined: Sat Dec 04, 2010 8:51 pm
#5
Post
by nongmaw » Sun Apr 10, 2011 7:54 pm
ปรกติเวลาทำงานจะใช้ Vlookup เป็นหลักค่ะ แต่มาอ่านเจอ post lookup เลยลองทำดูแต่ผลที่ได้ค่าไม่ปรากฏค่ะ ต้องทำอย่างไรค่ะ (ตามไฟล์แนบ) รบกวนอาจารย์ดูให้หน่อยค่ะ
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 » Sun Apr 10, 2011 7:59 pm
ลองตามนี้ครับ
ที่ E2 คีย์
=LOOKUP(D2,B:B,A:A)
Enter
ที่สำคัญการค้นหาลักษณะนี้คอลัมน์ B จำเป็นจะต้องเรียงจากน้อยไปหามากเสมอครับ
nongmaw
Member
Posts: 7 Joined: Sat Dec 04, 2010 8:51 pm
#7
Post
by nongmaw » Sun Apr 10, 2011 8:14 pm
โอ๊ะต้องขอโทษอาจารย์ด้วยค่ะ เขียนข้อมูลผิดนะค่ะ ต้องการให้โชว์ข้อมูลใน E2 โดยใช้ D2 เป็นตัวค้นหา โดยที่ไม่ต้องสลับแถวเอา Ccode มาอยู่หลัง No. ค่ะ (ข้อมูลไม่มีการเรียงจากน้อยไปหามากค่ะ)
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:
#8
Post
by snasui » Mon Apr 11, 2011 11:05 am
ลองตามนี้ครับ
ที่ E2 คีย์
=INDEX($A$2:$A$21,MATCH(D2,$B$2:$B$21,0))
Enter