: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

ดึงข้อมูลแบบ 3 เงื่อนไข

ฟอรัมถาม-ตอบปัญหาการใช้งาน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
xxporxx
Member
Member
Posts: 29
Joined: Sat Nov 02, 2013 12:46 pm

ดึงข้อมูลแบบ 3 เงื่อนไข

#1

Post by xxporxx »

พอจะวิธีเขียนสูตรให้ดึงข้อมูลมาให้ตรงตามเงื่อนไขที่กำหนดไหมครับ
เงื่อนไขที่ 1 ให้หาข้อมูลตามชนิดของสินค้า
เงื่อนไขที่ 2 ต่อจากเงื่อนไขข้อที่ 1ครับ พอหาชนิดของสินค้าเจอให้ตรวจสอบ ขนาดของสินค้า
เงื่อนไขที่ 3 ต่อจากข้อ 2 ครับ พอหาขนาดเจอให้ตรวจสอบประเทศ แลัวถึงจะดึงข้อมูลมาครับ
ตอนแรกที่ผมทำ ผมว่าจะแยกประเทศ แล้วค่อยดึงข้อมูลมาตามชนิด และ ขนาด ให้มาแสดงแต่ว่าข้อมูลมันจะแตกไปเยอะ
เลยครับ รบกวนช่วยดูให้หน่อยครับ หรือว่ามีวิธีอื่นแนะนำมาก็ได้ครับ
มีอีกข้อนึงครับ คือว่ารายการที่ผมทำดรอปดาวน์ มาจาก Pivot Table ทำไมมันขึ้นข้อมูลห่างกันครับ มีวิธีแก้ไขไหมครับ
ขอบคุณครับ
xxporxx
Member
Member
Posts: 29
Joined: Sat Nov 02, 2013 12:46 pm

Re: ดึงข้อมูลแบบ 3 เงื่อนไข

#2

Post by xxporxx »

ทำบอม.xlsx
You do not have the required permissions to view the files attached to this post.
User avatar
DhitiBank
Gold
Gold
Posts: 1676
Joined: Mon Oct 15, 2012 12:07 am

Re: ดึงข้อมูลแบบ 3 เงื่อนไข

#3

Post by DhitiBank »

:arrow: ตอบข้อ 1 ก่อนนะครับ
หากต้องการให้รายการใน drop down list เรียงติดๆ กัน ก็ต้องสร้าง drop down จากต้นแหล่งที่เรียงติดๆ กันครับ ในไฟล์แนบใหม่นี้ ผมลองสร้างรายการไม่ซ้ำออกมาใหม่ในชีท List (สีเหลือง) ด้วยสูตรแต่ไม่มีการเรียงลำดับตัวอักษร และสร้าง Named Range เพื่อเอาไปอ้างใน data validation ลองสังเกต:
--สูตรในชีท List
--Named Range โดยกด Ctrl+F3
--เอา Named Range ไปอ้างใน data validation

:arrow: ส่วนข้อ 2 การเรียกข้อมูล เช่น ใช้กล่อง, ใช้ลัง ฯลฯ ในชีท "หาข้อมูล" ตามความถนัดของผม ผมคิดว่าหากมีฐานข้อมูล (คือชีท Data) อยู่แล้ว และอยากจะดึงข้อมูลด้วยสูตร การดึงข้อมูลจากฐานข้อมูลโดยตรงจะสะดวกกว่าดึงมาจาก Pivot table นะครับ เพราะ pivot จะเปลี่ยนรูปร่างหน้าตาหากมีการ refresh ข้อมูลหรือปรับตัวกรองใหม่ ทำให้การอ้างอิงในสูตรเดิมจะใช้ไม่ได้

และหากจะดึงข้อมูลจากฐานข้อมูล ผมคิดว่า เกณฑ์ที่จะใช้ดึงข้อมูลในเซลล์ A8 ลงไป ควรใช้คำที่เหมือนกับที่ใช้ในฐานข้อมูลครับ จะทำให้สามารถใช้สูตรดึงข้อมูลมาได้ง่าย ดังนั้นจึงอยากสอบถามก่อนว่า เปลี่ยนคำที่จะใช้ให้มีข้อความเหมือนกับรายการ Product Detail ในชีท List ได้หรือไม่ครับ :?:
You do not have the required permissions to view the files attached to this post.
xxporxx
Member
Member
Posts: 29
Joined: Sat Nov 02, 2013 12:46 pm

Re: ดึงข้อมูลแบบ 3 เงื่อนไข

#4

Post by xxporxx »

ได้ครับ ถ้าอย่างนั้นผมไม่ต้องใช้ Pivot Table โดยที่ผมใช้ Sheet data มาเป็นฐานข้อมูลเลยได้ใช่ไหมครับ
ขอบคุณ คุณ DhitiBank มากครับ
User avatar
DhitiBank
Gold
Gold
Posts: 1676
Joined: Mon Oct 15, 2012 12:07 am

Re: ดึงข้อมูลแบบ 3 เงื่อนไข

#5

Post by DhitiBank »

ยินดีครับ
แล้วสำหรับการดึงข้อมูลในชีท "หาข้อมูล" ไม่ทราบว่าได้คำตอบหรือยังครับ หากยังรบกวนทำตัวอย่างคำตอบที่ถูกต้องแล้วแนบไฟล์มาได้ไหมครับ จะได้แนะนำสูตรที่ใช้ให้ครับ
xxporxx
Member
Member
Posts: 29
Joined: Sat Nov 02, 2013 12:46 pm

Re: ดึงข้อมูลแบบ 3 เงื่อนไข

#6

Post by xxporxx »

ข้อแรก ผมกด Ctrl+F3 เห็น สูตรแล้วครับแต่ก็ยังคงใช้ไม่เป็นครับ ต้องขอเวลาศึกษาอีกหน่อยครับเพื่อทำความเข้าใจว่ามันมีไว้ใช้ทำอะไรครับ
แล้วข้อสอง คุณ DhitiBank จะดึงข้อมูลให้มาแสดงผลในตารางที่ต้องการให้ถูกต้องได้อย่างไรครับ
ผมเริ่มงงแล้วครับ รบกวนขอตัวอย่างเพื่อเป็นแนวทางได้ไหมครับ
User avatar
DhitiBank
Gold
Gold
Posts: 1676
Joined: Mon Oct 15, 2012 12:07 am

Re: ดึงข้อมูลแบบ 3 เงื่อนไข

#7

Post by DhitiBank »

:) ใจเย็นๆ ครับ

สำหรับข้อ 1 เป็นเพียงตัวอย่างการสร้าง Named Range เพื่อเอาไว้ใช้อ้างอิงได้ง่ายเวลาจะเอามาทำ drop down ครับ (หรือจะเอาไปอ้างในสูตรก็ได้) หากคุณ xxporxx พอใจใน drop down ตัวนี้แล้ว ก็ค่อยๆ ศึกษาวิธีทำในภายหลังได้ครับ ถ้าอย่างนั้นเราผ่านปัญหานี้ไปก่อน

ส่วนเรื่องการดึงข้อมูลในชีท "หาข้อมูล" สามารถใช้สูตรได้ครับ คุณ xxporxx ลองใส่หน้าตาคำตอบที่ต้องการแล้วแนบไฟล์มาใหม่ครับ
xxporxx
Member
Member
Posts: 29
Joined: Sat Nov 02, 2013 12:46 pm

Re: ดึงข้อมูลแบบ 3 เงื่อนไข

#8

Post by xxporxx »

ครับตอนนี้ผมเอา Pivot ออกแล้วนะครับรบกวนลองดูตามไฟลแนบครับ
You do not have the required permissions to view the files attached to this post.
User avatar
DhitiBank
Gold
Gold
Posts: 1676
Joined: Mon Oct 15, 2012 12:07 am

Re: ดึงข้อมูลแบบ 3 เงื่อนไข

#9

Post by DhitiBank »

ไม่ค่อยเข้าใจครับ

ในชีท "หาข้อมูล" คอลัมน์ A นี่เป็นคำตอบแล้วใช่หรือเปล่าครับ หากยังไม่ได้ใส่คำตอบ รบกวนใส่ลงมาเลย (คำตอบคือ สิ่งที่อยากจะให้เป็นเมื่อใส่สูตรแล้วครับ)
xxporxx
Member
Member
Posts: 29
Joined: Sat Nov 02, 2013 12:46 pm

Re: ดึงข้อมูลแบบ 3 เงื่อนไข

#10

Post by xxporxx »

ต้องขอโทษด้วยครับ ผมแนไฟลให้ไหมแล้วครับ
You do not have the required permissions to view the files attached to this post.
User avatar
DhitiBank
Gold
Gold
Posts: 1676
Joined: Mon Oct 15, 2012 12:07 am

Re: ดึงข้อมูลแบบ 3 เงื่อนไข

#11

Post by DhitiBank »

สอบถามเพิ่มหน่อยครับ

ในไฟล์ที่ผมแนบมา ชีท "ค้นหาข้อมูล" ตรงเซลล์ D8:E22 เป็นรายการไม่ซ้ำที่ดึงมาจากชีท Data ซึ่งมี 10 รายการ แต่งงตรงที่;

--ตรงที่ระบายสีส้มไว้ 4 รายการ ต้องจัดเอาไว้กลุ่มไหนครับ :?:

--ที่ระบายสีเขียวไว้ คือไม่รู้ว่ามันเป็นบรรจุภัณฑ์อะไร รบกวนบอกให้ละเอียดอีกนิดหนึ่งครับ ว่ามันคืออะไรเมื่อดูจาก 10 รายการนี้
You do not have the required permissions to view the files attached to this post.
xxporxx
Member
Member
Posts: 29
Joined: Sat Nov 02, 2013 12:46 pm

Re: ดึงข้อมูลแบบ 3 เงื่อนไข

#12

Post by xxporxx »

DhitiBank wrote:สอบถามเพิ่มหน่อยครับ

ในไฟล์ที่ผมแนบมา ชีท "ค้นหาข้อมูล" ตรงเซลล์ D8:E22 เป็นรายการไม่ซ้ำที่ดึงมาจากชีท Data ซึ่งมี 10 รายการ แต่งงตรงที่;

--ตรงที่ระบายสีส้มไว้ 4 รายการ ต้องจัดเอาไว้กลุ่มไหนครับ :?:

--ที่ระบายสีเขียวไว้ คือไม่รู้ว่ามันเป็นบรรจุภัณฑ์อะไร รบกวนบอกให้ละเอียดอีกนิดหนึ่งครับ ว่ามันคืออะไรเมื่อดูจาก 10 รายการนี้
ตอบครับ ตรงสีส้ม 4 รายการนะครับ
---รายการที่ 1 ลัง ไม่พิมพ์ อยู่ที่ B10 ครับ
---รายการที่ 2.กล่อง PH อยู่ที่ B8 ครับ
---รายการที่ 3. สติ๊กเกอร์ปะกล่อง อยู่ที่ B14 ครับ
-- รายการที่ 4 เทปใส 2" คงต้องเพิ่มหมายเหตุ เป็น B24 ครับ
ส่วนสีเขียวนั้นถ้าไม่มีบรรจุภัณฑ์ที่จะใช้ก็ปล่อยว่างก็ได้ครับ
ขอบคุณมากครับที่กรุณาช่วยตอบ
User avatar
DhitiBank
Gold
Gold
Posts: 1676
Joined: Mon Oct 15, 2012 12:07 am

Re: ดึงข้อมูลแบบ 3 เงื่อนไข

#13

Post by DhitiBank »

แนวการทำดังไฟล์แนบครับ

:arrow: ขั้นแรกก็สร้างรายการไม่ซ้ำ (ในตัวอย่างนี้จะหามาด้วยสูตร แต่จริงๆ มีหลายวิธี) เอามาทำ drop down ขั้นตอนคร่าวๆ ก็อธิบายไปบ้างแล้วครับ คือ
-- หารายการไม่ซ้ำ
-- สร้าง Named Range (ดูใน Name Manager โดยกด Ctrl+F3)
-- เอา named range มาทำ drop down จากเมนู data validation

:arrow: ต่อมาก็มาเขียนสูตรในชีท "หาข้อมูล"
-- เนื่องจากเกณฑ์ที่คุณทำไว้ในคอลัมน์ A ใช้คำแตกต่างจากในฐานข้อมูล ผมเลยเอาคำที่มีในฐานข้อมูลมาไว้ในด้านขวาเพื่อเอาไว้เทียบครับ (ดูในไฟล์)
-- ที่ B8 คีย์

Code: Select all

=OFFSET(C8,,SUMPRODUCT(--IF(ISNUMBER(MATCH(IF(TRIM(Data!$A$2:$A$145)=$B$2,IF(TRIM(Data!$B$2:$B$145)=$D$2,IF(TRIM(Data!$F$2:$F$145)=$F$2,TRIM(Data!$C$2:$C$145)))),D8:E8,0)),MATCH(IF(TRIM(Data!$A$2:$A$145)=$B$2,IF(TRIM(Data!$B$2:$B$145)=$D$2,IF(TRIM(Data!$F$2:$F$145)=$F$2,TRIM(Data!$C$2:$C$145)))),D8:E8,0))))
กด Ctrl+Shift ค้างเอาไว้ แล้วกด Enter ครับ --> คัดลอกลงไปยังเซลล์ที่เกี่ยวข้อง

:arrow: หรืออีกแนวหนึ่ง ลองดูในชีท "หาข้อมูล (2)"
-- คอลัมน์ A ผมเอารายละเอียดสินค้าที่สะกดเหมือนกับที่ใช้ในฐานข้อมูลมาใส่เพื่อให้ใช้สูตรง่ายขึ้น
-- ที่ B8 คีย์

Code: Select all

=IF(SUMPRODUCT(--(TRIM(Data!$A$2:$A$145)=$B$2),--(TRIM(Data!$B$2:$B$145)=$D$2),--(TRIM(Data!$F$2:$F$145)=$F$2),--(TRIM(Data!$C$2:$C$145)=A8)),"Yes","-")
Enter --> คัดลอกลงล่างครับ
You do not have the required permissions to view the files attached to this post.
xxporxx
Member
Member
Posts: 29
Joined: Sat Nov 02, 2013 12:46 pm

Re: ดึงข้อมูลแบบ 3 เงื่อนไข

#14

Post by xxporxx »

ได้ตามที่ต้องการให้แสดงผลเลยครับ
ขอบคุณ
คุณ DhitiBank มากเลยครับ
Post Reply