: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

ดึงข้อมูลตามเงื่อนไข

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
User avatar
parakorn
Gold
Gold
Posts: 1223
Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:

ดึงข้อมูลตามเงื่อนไข

#1

Post by parakorn »

Book1.xlsx
ขอรบกวนหน่อยครับ เนื่องจากต้องการดึงราคาสินค้า
เพื่อทำใบเสนอราคาโดยใส่เงื่อนไขครับ ซึ่งราคาสินค้ามี
จำนวนราคาตั้งแต่ 1ราคา ถึง 3ราคา โดยมีเงื่อนไขที่จะเปลี่ยนแปลงราคา
จากจำนวนที่ซื้อ แต่ต้องการดึงแค่ราคาแรก และราคาสุดท้าย
เพื่อเสนอกับลูกค้า โดยฐานข้อมูลมีการอัพเดตทุกๆวันพฤหัสครับ

สิ่งที่ต้องการ เมื่อใส่ Bar Code (C6) แล้วปรากฏข้อมูล StepI และ StepII
ซึ่ง StepI คือ จำนวนที่ซื้อ1ชิ้น+ราคา StepII คือ ราคาที่ถูกที่สุด+จำนวนที่ซื้อ(บางสินค้ามี3ราคาก็ต้องเป็นราคาที่3พร้อมจำนวน)


ขอบพระคุณล่วงหน้าครับ
พลากร
You do not have the required permissions to view the files attached to this post.
joo
Gold
Gold
Posts: 1213
Joined: Sat Apr 17, 2010 3:50 pm

Re: ดึงข้อมูลตามเงื่อนไข

#2

Post by joo »

:D ช่วยยกตัวอย่างคำตอบที่ต้องการมาให้ดูสัก 2-3 ตัวอย่างหย่อยครับ
User avatar
parakorn
Gold
Gold
Posts: 1223
Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:

Re: ดึงข้อมูลตามเงื่อนไข

#3

Post by parakorn »

ตามนี้ครับ
You do not have the required permissions to view the files attached to this post.
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ดึงข้อมูลตามเงื่อนไข

#4

Post by bank9597 »

:D ลองตามนี้ครับ

ที่ C6 คีย์ =VLOOKUP($C6,Sheet1!$A$2:$B$7,2,0) คัดลอกลงมา
ที่ G6 คีย์ =VLOOKUP($C6,Sheet1!$A$2:$F$7,6,0) คัดลอกลงมา
ที่ I6 คีย์ =MIN(IF(Sheet1!$A$2:$A$7=$C6,Sheet1!$I$2:$I$7)) กด Ctrl+Shift+Enter คัดลอกลงมา
You do not have the required permissions to view the files attached to this post.
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
parakorn
Gold
Gold
Posts: 1223
Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:

Re: ดึงข้อมูลตามเงื่อนไข

#5

Post by parakorn »

ขอบคุณมากเลยครับ ขอถามเพิ่มหน่อยครับ

ที่ช่อง qtyของ stepII ใส่สูตรอะไรครับ :(
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ดึงข้อมูลตามเงื่อนไข

#6

Post by bank9597 »

:D

ที่ H6 คีย์ =INDEX(Sheet1!$G$2:$G$7,MATCH(1,IF(Sheet1!$A$2:$A$7=$C6,IF(Sheet1!$I$2:$I$7=$I6,1)),0)) กด Ctrl+Shift+Enter คัดลอกลงมา
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
parakorn
Gold
Gold
Posts: 1223
Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:

Re: ดึงข้อมูลตามเงื่อนไข

#7

Post by parakorn »

วันนี้มีโจทย์เพิ่มอีก1ช่องครับขอรบกวนด้วยนะครับ
ตามไฟล์ที่แนบผมอยากได้ผลลัพท์ในช่อง totalครับ
โดยมีเงื่อนไขจาก stepI และ stepII
สมมติว่า สินค้านี้ stepI อยู่ที่ qty 1 price 120 และ stepII อยู่ที่ qty 6 price 100
หมายความว่า ซื้อสินค้า 1-5ชิ้นราคาชิ้นละ 120บาท ซื้อ6ชิ้นขึ้นไป 100บาท
ดังนั้นในช่อง total จะอ้างอิงจากช่อง order เช่นถ้าorder5 totalจะได้600
ถ้าorder7 totalจะได้700
รบกวนด้วยครับ
ขอบพระคุณมากครับ
พลากร
You do not have the required permissions to view the files attached to this post.
User avatar
parakorn
Gold
Gold
Posts: 1223
Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:

Re: ดึงข้อมูลตามเงื่อนไข

#8

Post by parakorn »

ล่าสุดนำมาปรับใช้โดยตั้งเป็น dynamic ครับ แต่ไม่สำเร็จครับฝากดูให้ด้วยครับ :(
You do not have the required permissions to view the files attached to this post.
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ดึงข้อมูลตามเงื่อนไข

#9

Post by bank9597 »

parakorn wrote:ล่าสุดนำมาปรับใช้โดยตั้งเป็น dynamic ครับ แต่ไม่สำเร็จครับฝากดูให้ด้วยครับ :(
:D ผมเห็น RangName ชื่อ Bar_Code อยู่ในสูตร จึงลองเข้าไปดู ไม่ทราบว่าชีทชื่อ itemmaster อยู่ไหนครับ เพราะมันไม่ปรากฏมีในไฟล์แนบ อาจจะทำให้สูตรไม่แสดงค่าครับ ยังลองแนบมาอีกครั้งครับ

วันนี้มีโจทย์เพิ่มอีก1ช่องครับขอรบกวนด้วยนะครับ
ตามไฟล์ที่แนบผมอยากได้ผลลัพท์ในช่อง totalครับ
โดยมีเงื่อนไขจาก stepI และ stepII
สมมติว่า สินค้านี้ stepI อยู่ที่ qty 1 price 120 และ stepII อยู่ที่ qty 6 price 100
หมายความว่า ซื้อสินค้า 1-5ชิ้นราคาชิ้นละ 120บาท ซื้อ6ชิ้นขึ้นไป 100บาท
ดังนั้นในช่อง total จะอ้างอิงจากช่อง order เช่นถ้าorder5 totalจะได้600
ถ้าorder7 totalจะได้700
รบกวนด้วยครับ
ขอบพระคุณมากครับ
พลากร
ที่ K6 คีย์ =IF($J6<$H6,$J6*$G6,$J6*$I6) คัดลอกลงมาครับ
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
parakorn
Gold
Gold
Posts: 1223
Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:

Re: ดึงข้อมูลตามเงื่อนไข

#10

Post by parakorn »

อ๋อผม copy สูตรมาครับ ความจริงมันคือ sheet1 ที่อยู่ในไฟล์เดียวกันครับ
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ดึงข้อมูลตามเงื่อนไข

#11

Post by bank9597 »

parakorn wrote:อ๋อผม copy สูตรมาครับ ความจริงมันคือ sheet1 ที่อยู่ในไฟล์เดียวกันครับ
ที่ I17 คีย์ =MIN(IF(Sheet1!$B$3:$B$8=$C17,Sheet1!$J$3:$J$8)) กด Ctrl+Shift+Enter คัดลอกลงมา
ที่ H17 =INDEX(Sheet1!$I$3:$I$8,MATCH(1,IF(Sheet1!$B$3:$B$8=$C17,IF(Sheet1!$J$3:$J$8=$I17,1)),0))กด Ctrl+Shift+Enter คัดลอกลงมา
You do not have the required permissions to view the files attached to this post.
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
parakorn
Gold
Gold
Posts: 1223
Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:

Re: ดึงข้อมูลตามเงื่อนไข

#12

Post by parakorn »

มีวิธีทำเป็นรูปแบบ dynamic ไหมครับ เพราะข้อมูลมีมากกว่า5หมื่นรายการ
แล้วเพิ่มทุกๆวันพฤหัสครับ
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ดึงข้อมูลตามเงื่อนไข

#13

Post by bank9597 »

parakorn wrote:มีวิธีทำเป็นรูปแบบ dynamic ไหมครับ เพราะข้อมูลมีมากกว่า5หมื่นรายการ
แล้วเพิ่มทุกๆวันพฤหัสครับ
ต้องทำเป็น Rangename แบบ dinamic ครับ

ลองศึกษาในไฟล์แนบครับ
You do not have the required permissions to view the files attached to this post.
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
parakorn
Gold
Gold
Posts: 1223
Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:

Re: ดึงข้อมูลตามเงื่อนไข

#14

Post by parakorn »

bank9597 wrote:
ต้องทำเป็น Rangename แบบ dinamic ครับ

ลองศึกษาในไฟล์แนบครับ
ขอบคุณมากครับ
แต่ทำไมในช่อง oty เป็น999 ครับ
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ดึงข้อมูลตามเงื่อนไข

#15

Post by bank9597 »

parakorn wrote:
bank9597 wrote:
ต้องทำเป็น Rangename แบบ dinamic ครับ

ลองศึกษาในไฟล์แนบครับ
ขอบคุณมากครับ
แต่ทำไมในช่อง oty เป็น999 ครับ
ลองดูฝนตารางครับ

บาร์โค๊ด 9000101012569 สเต็ปราคาน้อยสุดอยู่ที่ 100 บาท พอดูค่า "Stepถึง" ของบาร์โค๊ด 9000101012569 ราคา 100 มันก็คือ 999 ตามในตารางครับ
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
parakorn
Gold
Gold
Posts: 1223
Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:

Re: ดึงข้อมูลตามเงื่อนไข

#16

Post by parakorn »

bank9597 wrote:
parakorn wrote:
bank9597 wrote:
ต้องทำเป็น Rangename แบบ dinamic ครับ

ลองศึกษาในไฟล์แนบครับ
ขอบคุณมากครับ
แต่ทำไมในช่อง oty เป็น999 ครับ
ลองดูฝนตารางครับ

บาร์โค๊ด 9000101012569 สเต็ปราคาน้อยสุดอยู่ที่ 100 บาท พอดูค่า "Stepถึง" ของบาร์โค๊ด 9000101012569 ราคา 100 มันก็คือ 999 ตามในตารางครับ
ถ้าต้องการให้ขึ้น 3 ต้องทำยังไงครับ บางสินค้าก็ 6 12
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ดึงข้อมูลตามเงื่อนไข

#17

Post by bank9597 »

:D เข้าไปดูที่ RangeName ชื่อ "Stepถึง" แก้ไขคอลัมน์ในสูตร จากคอลัมน์ I เป็นคอลัมน์ H ครับ
You do not have the required permissions to view the files attached to this post.
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
parakorn
Gold
Gold
Posts: 1223
Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:

Re: ดึงข้อมูลตามเงื่อนไข

#18

Post by parakorn »

มันมีบางบาร์โค้ดที่ไม่สามารถดึงข้อมูลได้ ผมขออัพเป็นรูปได้ไหมครับ
เพราะไฟล์มีขนาดใหญ่มาก ถ้าตัดทิ้งสูตรมันก็เหมือนจะเพี้ยนๆครับ :geek:
You do not have the required permissions to view the files attached to this post.
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ดึงข้อมูลตามเงื่อนไข

#19

Post by bank9597 »

:D ผมเดาว่า รหัสบาร์โค๊ดในชีท CW กับ Sheet1 ถูกเก็บค่าต่างกัน คือ ถูกเก็บเป็น Text และ Number

พอรูปแบบไม่เหมือนกัน ก็ทำให้การแสดงผลผิดพลาด ลองแก้โดยการ +0 เข้าไปครับ เช่น

ที่ I17 คีย์ =MIN(IF(Bar_Code=$C17+0,Stepราคา)) กด Ctrl+Shift+Enter คัดลอกลงมา
ที่ H17 คีย์ =INDEX(Stepถึง,MATCH(1,IF(Bar_Code=$C17+0,IF(Stepราคา=$I17,1)),0)) กด Ctrl+Shift+Enter คัดลอกลงมา

ปล** ยึดจากไฟล์ที่แนบไว้ล่าสุดครับ
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
parakorn
Gold
Gold
Posts: 1223
Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:

Re: ดึงข้อมูลตามเงื่อนไข

#20

Post by parakorn »

ลองดูแล้วครับไม่สามารถแก้ไขได้ แต่เบื้องต้นผมลองลบข้อมูลออกสูตรสามารถทำงานได้ปกติครับ
น่าจะเกิดจากปัญหาที่ข้อมูลในรูป อยู่ใน ROW 55810 หรือปล่าวครับ เพราะถ้าลบแล้วให้ขึ้นไปอยู่
ROW3 สูตรสามารถทำงานได้ปกติครับ แล้วเราจะแก้ยังไงดีครับ ข้อมูลปัจจุบันมีถึง ROW 56083 เลยทีเดียวครับ
Post Reply