: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

Vlookup ข้อมูลมากกว่า 1 โดยไม่ fix ตัวเลือก

ฟอรัมถาม-ตอบปัญหาการใช้งาน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
ggthkk
Member
Member
Posts: 4
Joined: Sat Sep 14, 2019 10:47 pm

Vlookup ข้อมูลมากกว่า 1 โดยไม่ fix ตัวเลือก

#1

Post by ggthkk »

สวัสดีครับ พอดีกว่า ผมลองหาข้อมูลดูแล้วยังไม่ตรงตามความต้องการ

อยากจะ ดึงข้อมูลจากอีก Sheet แต่ที่นี้ 1 คำสั่งซื้อมี การสั่งซื้อมากกว่า 1 เช่น

orders 1
สินค้า A
สินค้า B

แต่พอดึงมาแล้วได้แค่ สินค้า A เท่านั้น
อยากดึงสินค้าทั้งหมดตามเลข order แล้วเรียงลงมา ครับ
You do not have the required permissions to view the files attached to this post.
User avatar
puriwutpokin
Guru
Guru
Posts: 3792
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: Vlookup ข้อมูลมากกว่า 1 โดยไม่ fix ตัวเลือก

#2

Post by puriwutpokin »

ไม่ค่อยเข้าใจนัก ลองดูว่าใช่ไหมครับที่ H6=IFERROR(INDEX(วางข้อมูล!$C$2:$C$500,AGGREGATE(15,6,(ROW(วางข้อมูล!$C$2:$C$500)-ROW(วางข้อมูล!$C$2)+1)/(วางข้อมูล!$A$2:$A$500=E6),COUNTIF(E$6:E6,E6))),"")
:shock: :roll: :D
ggthkk
Member
Member
Posts: 4
Joined: Sat Sep 14, 2019 10:47 pm

Re: Vlookup ข้อมูลมากกว่า 1 โดยไม่ fix ตัวเลือก

#3

Post by ggthkk »

puriwutpokin wrote: Sun Sep 15, 2019 10:18 pm ไม่ค่อยเข้าใจนัก ลองดูว่าใช่ไหมครับที่ H6=IFERROR(INDEX(วางข้อมูล!$C$2:$C$500,AGGREGATE(15,6,(ROW(วางข้อมูล!$C$2:$C$500)-ROW(วางข้อมูล!$C$2)+1)/(วางข้อมูล!$A$2:$A$500=E6),COUNTIF(E$6:E6,E6))),"")
ใช่ครับประมาณนี้่ครับ แต่ ผมจะรู้ได้ยังไงว่าออเดอร์ ที่เท่าไหร่มันซ้ำแล้วซ้ำสินค้าตัวไหนบ้าง อะครับ
**ขออภัยด้วยนะครับ Sheet วางข้อมูล ปกติมันจะเว้นครับ ผมแก้ให้ใหม่จะได้เข้าใจขึ้นครับ ขอบคุณครับ

ไฟล์ครับ
You do not have the required permissions to view the files attached to this post.
User avatar
puriwutpokin
Guru
Guru
Posts: 3792
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: Vlookup ข้อมูลมากกว่า 1 โดยไม่ fix ตัวเลือก

#4

Post by puriwutpokin »

ใช้คอลัมน์ช่วยครับ ที่ชี่ท วางข้อมูล ที่ G2=LOOKUP(CHAR(255),A$2:A2) คัดลอกลงจนสุดข้อมูล
ที่ ชีท โปรแกรมตัดยอด ที่ H6=IFERROR(INDEX(วางข้อมูล!$C$2:$C$500,AGGREGATE(15,6,(ROW(วางข้อมูล!$C$2:$C$500)-ROW(วางข้อมูล!$C$2)+1)/(วางข้อมูล!$G$2:$G$500=LOOKUP(CHAR(255),E$6:E6)),ROWS(H$6:H6))),"") คัดลอกลงครับไม่ต้องกด Array ครับ
:shock: :roll: :D
menem
Silver
Silver
Posts: 549
Joined: Mon Jan 26, 2015 11:02 am

Re: Vlookup ข้อมูลมากกว่า 1 โดยไม่ fix ตัวเลือก

#5

Post by menem »

ถ้าผมเข้าใจไม่ผิด ในชุดข้อมูลที่วาง มีการ Copy มาวางไว้ซ้ำ ๆ กัน
ซึ่งในความเป็นจริง ข้อมูลสั่งซื้อที่วาง จะอยู่ต่อเนื่องกันจนกว่าจะครบ
ในใบสั่งซื้อแต่ละใบใช่ไหมครับ ?
You do not have the required permissions to view the files attached to this post.
ggthkk
Member
Member
Posts: 4
Joined: Sat Sep 14, 2019 10:47 pm

Re: Vlookup ข้อมูลมากกว่า 1 โดยไม่ fix ตัวเลือก

#6

Post by ggthkk »

menem wrote: Sun Sep 15, 2019 11:31 pm ถ้าผมเข้าใจไม่ผิด ในชุดข้อมูลที่วาง มีการ Copy มาวางไว้ซ้ำ ๆ กัน
ซึ่งในความเป็นจริง ข้อมูลสั่งซื้อที่วาง จะอยู่ต่อเนื่องกันจนกว่าจะครบ
ในใบสั่งซื้อแต่ละใบใช่ไหมครับ ?
ขออภัยที่ตอบช้านะครับ
ประเด็นที่ 1 นะครับ ข้อมูลผม Export ออกมา จะได้หน้าตาแบบที่อยู่ใน Sheet วางข้อมูลเลยครับ **ไม่ได้ copy มาทีละ คำสั่งซื้อ
ประเด็นที่ 2 1 คำสั่งซื้อ อาจจะ มีสินค้า มากกว่า 1 ได้ครับ คือ
คำสั่ง 19987563ABC
จะมีแค่สินค้า A ตัวเดียวก็ได้ หรือ จะมี สินค้า A สินค้า B สินค้า C ก็ได้ครับ

คำถามนะครับ ขออภัยที่อาจอธิบายไม่รู้เรื่องนะครับ พอดี ผมก็ไม่แน่ใจว่าจะอธิบายยังไงให้เข้าใจ -*-

1. ในเมื่อ 1 คำสั่งมีการซื้อสินค้ามากกว่า 1 รายการ แต่ถ้า ใช้ Vlookup มันก็จะได้แค่ รายการแรกมาแสดงถูกไหมครับ
ถาม ผมต้องการ แสดงรายการสินค้าทั้งหมด ต่อ 1 คำสั่งซื้อออกมาครับ

ยกตัวอย่าง คำสั่ง 19987563ABC
สินค้า A
สินค้า B
สินค้า C

ใช้ Vlookup ก็จะแสดงแค่ สินค้า A ออกมา
ต้องใช้คำสั่งอะไรเพื่อที่จะแสดง

สินค้า A
สินค้า B
สินค้า C

ออกมาทั้งหมดโดยเรียงลงมาครับ

เช่น คำสั่ง 19987563ABC
คอลัม A----|--B----------------|--C
1-----คำสั่ง-|-19987563ABC--|--สินค้า A
2------------|-------------------|--สินค้า B
3------------|-------------------|--สินค้า C




2. ถ้าสมมุติว่า มีรายการมากกว่า 1 Cell แล้ว ให้เริ่มนับเลขคำสั่งซื้ออันที่ 2 ต่อจาก แสดง รายการสินค้าที่ ได้ค่าอออกมาแล้ว เช่น
คอลัม A----|--B----------------|--C
1-----คำสั่ง-|-19987563ABC--|--สินค้า A
2------------|-------------------|--สินค้า B
3------------|-17423523AGH-|---สินค้า A

โดยในตัวอย่าง แถว B2 จะเว้นไว้ เพราะมี สินค้า B อยู่ แล้วเริ่ม คำสั่งซื้ออันที่ 2 ที่ B3 เป็นต้นครับ

ขอบคุณมากครับ
menem
Silver
Silver
Posts: 549
Joined: Mon Jan 26, 2015 11:02 am

Re: Vlookup ข้อมูลมากกว่า 1 โดยไม่ fix ตัวเลือก

#7

Post by menem »

ที่ผมสอบถามย้ำเพราะพบว่ามีข้อมูลคำสั่งซื้อบางใบมีมากกว่า 1 ครั้งน่ะครับ
เช่น 19062900264A9JS พบว่ามีอยู่ในบรรทัดที่ 13 (3 รายการ) และ 433 (3 รายการ)
ซึ่งหากยืนยันว่าข้อมูลเป็นข้อมูลที่ Export ออกมาโดยไม่ได้มีการเปลี่ยนแปลงใด ๆ ก็แปลว่า
ใบสั่งซื้อนี้ จะมีรายการสินค้าทั้งหมด 6 รายการ นั่นก็แปลได้อีกว่า
มีโอกาสที่ใบสั่งซื้อแต่ละใบจะวางไว้แบบไม่ต่อเนื่องกัน (ซึ่งสูตรที่ผมเขียน
จะทำงานกับข้อมูลลักษณะนี้ไม่ได้น่ะครับ)
ggthkk
Member
Member
Posts: 4
Joined: Sat Sep 14, 2019 10:47 pm

Re: Vlookup ข้อมูลมากกว่า 1 โดยไม่ fix ตัวเลือก

#8

Post by ggthkk »

menem wrote: Tue Sep 17, 2019 9:17 am ที่ผมสอบถามย้ำเพราะพบว่ามีข้อมูลคำสั่งซื้อบางใบมีมากกว่า 1 ครั้งน่ะครับ
เช่น 19062900264A9JS พบว่ามีอยู่ในบรรทัดที่ 13 (3 รายการ) และ 433 (3 รายการ)
ซึ่งหากยืนยันว่าข้อมูลเป็นข้อมูลที่ Export ออกมาโดยไม่ได้มีการเปลี่ยนแปลงใด ๆ ก็แปลว่า
ใบสั่งซื้อนี้ จะมีรายการสินค้าทั้งหมด 6 รายการ นั่นก็แปลได้อีกว่า
มีโอกาสที่ใบสั่งซื้อแต่ละใบจะวางไว้แบบไม่ต่อเนื่องกัน (ซึ่งสูตรที่ผมเขียน
จะทำงานกับข้อมูลลักษณะนี้ไม่ได้น่ะครับ)
ขอบคุณมากนะครับที่ช่วยเหลือ ถ้ายังนี้เราสามารถใช้วิธีใด ได้บ้างครับ
ถ้าสมมุติว่า มีเขต ข้อมูล วันที่ มายึดด้วย จะทำให้เลือกหมายเลขคำสั่งซื้อเฉพาะ เจาะจงได้มากกว่านี้ไหมครับ เช่น

Sheet วางข้อมูล
19062900264A9JS---------สินค้า A--------17/9/62
-------------------------------สินค้า ฺB--------17/9/62
-------------------------------สินค้า ฺC--------17/9/62
19062900264A9JS---------สินค้า A--------12/9/62
-------------------------------สินค้า ฺB--------12/9/62

Sheet ตัดยอด จะมี ข้อมูลให้เทียบวันที่อยู่แล้ว

** 17/9/62

คำสั่งซื้อ
19062900264A9JS---------สินค้า A--------17/9/62
-------------------------------สินค้า ฺB--------17/9/62
-------------------------------สินค้า ฺC--------17/9/62
1908851426ABCDE---------สินค้า A--------16/9/62
-------------------------------สินค้า ฺB--------16/9/62


โดยตัด คำสั่งซื้อซ้ำที่ไม่ใช่วันที่ ที่กำหนดพอจะมีทางไหนบ้างไหมครับ
(งมมาหลายวันแล้ว ติดตรงดึงข้อมูลสินค้า ออกมาได้แค่ รายการเดียว) T^T

ขอบคุณมากๆเลยครับ
menem
Silver
Silver
Posts: 549
Joined: Mon Jan 26, 2015 11:02 am

Re: Vlookup ข้อมูลมากกว่า 1 โดยไม่ fix ตัวเลือก

#9

Post by menem »

ไม่ต้องครับ, ผมแค่อยากยืนยันรูปแบบข้อมูลให้ถูกต้องก่อนไปปรับสูตร

ขอแค่ยืนยันว่า คำสั่งซื้อที่ผมระบุไว้
มีรายการสินค้า 3 หรือ 6 รายการกันแน่
จะได้ปรับสูตรได้ถูกครับ :)
Post Reply