: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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

ดึงข้อมูลมากกว่า 3 เงื่อนไขหรืแมากกว่านั้น

#1

Post by March201711 »

เลือก Item แล้วให้ข้อมูลวิ่งมาโดยดูจาก file data มาเข้าที่ type ค่ะ
ยกตัวอย่างเช่น ถ้าเราเลือก Item 6 Type เป็น vehicle Dept เป็น VGEN จะต้องดึงข้อมูลอย่างไร คือตอนนี้ต้องมาดูเองว่าอยู่ใน type ไหน แล้วมาใข้สูตรที่ type นั้นค่ะ
You do not have the required permissions to view the files attached to this post.
koko_excel_tip
Member
Member
Posts: 138
Joined: Wed Sep 13, 2017 9:20 pm

Re: ดึงข้อมูลมากกว่า 3 เงื่อนไขหรืแมากกว่านั้น

#2

Post by koko_excel_tip »

ที่ P5=-INDEX(Data!$A$7:$AZ$32,MATCH($B$1,Data!$A$7:$A$32,0),MATCH("FY"&'6_No_staff'!P$4,Data!$A$6:$AZ$6,0))
กด [Enter] แล้วลากสูตรมาทางขวา ตามไฟล์แนบครับ :D :D :D
You do not have the required permissions to view the files attached to this post.
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลมากกว่า 3 เงื่อนไขหรืแมากกว่านั้น

#3

Post by March201711 »

ค่ะ ถ้าเปลี่ยน Type ที่ sheet data เป็น Computer - Hardware (cell D12) แล้ว ทำไมที่ sheet 6_No_Staff ไม่วิ่งไปจับที่ Type Computer -Hardware ตามด้วยน่ะคะ
You do not have the required permissions to view the files attached to this post.
koko_excel_tip
Member
Member
Posts: 138
Joined: Wed Sep 13, 2017 9:20 pm

Re: ดึงข้อมูลมากกว่า 3 เงื่อนไขหรืแมากกว่านั้น

#4

Post by koko_excel_tip »

ที่ C5=IFERROR(-INDEX(Data!N$7:N$32,SMALL(IF((Data!$A$7:$A$32='6_No_staff'!$B$1)*(Data!$D$7:$D$32='6_No_staff'!$B5),ROW(Data!$A$7:$A$32)-ROW(Data!$A$7)+1),1)),0) แล้วกด [Ctrl]+[Shift]+[Enter]
ลากสูตรลงมา และไปทางขวาถึงเดือน Dec

ที่ P5=IFERROR(-INDEX(Data!$AM$7:$AM$32,SMALL(IF((Data!$A$7:$A$32='6_No_staff'!$B$1)*(Data!$D$7:$D$32='6_No_staff'!$B5),ROW(Data!$A$7:$A$32)-ROW(Data!$A$7)+1),1)),0) แล้วกด [Ctrl]+[Shift]+[Enter]
ลากสูตรลงมา

ที่ Q5=IFERROR(-INDEX(Data!$AZ$7:$AZ$32,SMALL(IF((Data!$A$7:$A$32='6_No_staff'!$B$1)*(Data!$D$7:$D$32='6_No_staff'!$B5),ROW(Data!$A$7:$A$32)-ROW(Data!$A$7)+1),1)),0) แล้วกด [Ctrl]+[Shift]+[Enter]
ลากสูตรลงมา

ตามไฟล์แนบครับ :D :D :D
You do not have the required permissions to view the files attached to this post.
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลมากกว่า 3 เงื่อนไขหรืแมากกว่านั้น

#5

Post by March201711 »

:D ขอบคุณมากค่ะ แต่ใช้สูตร array แล้ว ทำให้ข้อมูลหน่วงๆข้ามากเลยค่ะ ถ้าใช้สูตรนี้กับข้อมูลที่มีเป็นหมื่นๆกว่ารายการ เครื่องจะแฮงค์ๆ คำนวณช้ามาก ถ้าจะไม่ใช้สูตร array มี สูตรอื่นที่ใช้ได้บ้างไหมคะ
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ดึงข้อมูลมากกว่า 3 เงื่อนไขหรืแมากกว่านั้น

#6

Post by snasui »

March201711 wrote: Fri Jul 20, 2018 9:49 pm ค่ะ ถ้าเปลี่ยน Type ที่ sheet data เป็น Computer - Hardware (cell D12) แล้ว ทำไมที่ sheet 6_No_Staff ไม่วิ่งไปจับที่ Type Computer -Hardware ตามด้วยน่ะคะ
:D ตัวอย่างสูตรที่ C5 ครับ

=-SUMIFS(Data!N$7:N$32,Data!$A$7:$A$32,$B$1,Data!$D$7:$D$32,$B5)
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลมากกว่า 3 เงื่อนไขหรืแมากกว่านั้น

#7

Post by March201711 »

ทำตามสูตรที่อาจารย์ให้มา ได้ยอดเป็น 0 ทั้งเดือนเลยค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ดึงข้อมูลมากกว่า 3 เงื่อนไขหรืแมากกว่านั้น

#8

Post by snasui »

:D ลองตรวจสอบทุกอักขระว่าผมเขียนสูตรไว้ว่าอย่างไร ทางทีดีให้คัดลอกไปวาง ไม่เช่นนั้นจะเกิดโอกาสผิดพลาดได้ครับ
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลมากกว่า 3 เงื่อนไขหรืแมากกว่านั้น

#9

Post by March201711 »

:D ค่ะ แล้วตรง P5 กับ Q5 ยอดดึงมาไม่ถูกต้องค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ดึงข้อมูลมากกว่า 3 เงื่อนไขหรืแมากกว่านั้น

#10

Post by snasui »

:D P5 กับ Q5 ค่าเป็นเท่าใด นำมาจากคอลัมน์ไหนครับ

ถ้านำมาจากคอลัมน์อื่นด้วยเงื่อนไขเดียวกันก็ต้องปรับสูตรให้ตรงกับคอลัมน์ที่จะนำข้อมูลมาแสดง ไม่ใช่คัดลอกสูตรไปวางโดยไม่ปรับครับ
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลมากกว่า 3 เงื่อนไขหรืแมากกว่านั้น

#11

Post by March201711 »

ต้องได้ค่า -1,070,000 โดยดึงข้อมูลจาก sheet data column AM ของ ปี 2020 และ column AZ ของปี 2021
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ดึงข้อมูลมากกว่า 3 เงื่อนไขหรืแมากกว่านั้น

#12

Post by snasui »

:D ตัวอย่างสูตรที่ P5 ครับ

=-SUMIFS(Data!AM$7:AM$32,Data!$A$7:$A$32,$B$1,Data!$D$7:$D$32,$B5)

สังเกตตรงที่ผมระบายสีในสูตร หากต้องการนำคอลัมน์ไหนของข้อมูลต้นทางมาแสดงก็ให้เปลี่ยนเป็นคอลัมน์นั้น

ฟังก์ชั่นพวกนี้เป็นฟังก์ชั่นพื้นฐานใช้บ่อยมาก ควรทำความเข้าใจและใช้ให้เป็น

ฟังก์ชั่นในกลุ่มนี้ที่จำเป็นและศึกษาไปด้วยกันคือ Sumif, Countif, Countifs ครับ
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลมากกว่า 3 เงื่อนไขหรืแมากกว่านั้น

#13

Post by March201711 »

ถ้าเราจะเปลี่ยนค่า Data!AM$7:AM$32 โดยจับข้อมูล ที่ sheet data column AM6 FY2020 4 ตัวสุดท้าย ซึ่งจะตรงกันกับ sheet 6_No_staff column P4 เป็น2020 ต้องปรับเปลี่ยนสูตรอย่างไรค่ะ เพราะ ว่ามีFYหลายๆปี ต่อๆกัน จึงต้องมานั่งปรับทุกปี ทุกคอลัมน์เลยค่ะ :roll:
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ดึงข้อมูลมากกว่า 3 เงื่อนไขหรืแมากกว่านั้น

#14

Post by snasui »

:D ตัวอย่างการปรับสูตรที่ P5 ครับ

=-SUMIFS(INDEX(Data!$N$7:$AZ$32,0,MATCH("*"&RIGHT(P$4,4),Data!$N$6:$AZ$6,0)),Data!$A$7:$A$32,$B$1,Data!$D$7:$D$32,$B5)
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลมากกว่า 3 เงื่อนไขหรืแมากกว่านั้น

#15

Post by March201711 »

8-) ได้แล้วค่ะอาจารย์ :D
มีปัญหาต่อค่ะ ถ้าเราจะดึงข้อมูลตรง Sheet BaseAlloc column B ให้มาแสดงใน sheet นี้ ที่ column U โดยดูว่าเป็น Basis อะไร และดูว่าเป็น แผนกไหน ใช้สูตร index+match ดึงมาแล้ว ข้อมูลเป็น 0 ค่ะ
เพราะมีการเปลี่ยนแปลง allocation ทุกเดือน ทุกแผนก ต้องมาแก้มือที่ column U ทุกครั้งไปค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ดึงข้อมูลมากกว่า 3 เงื่อนไขหรืแมากกว่านั้น

#16

Post by snasui »

:D ตัวอย่างสูตรที่ U12 ครับ

=VLOOKUP(S12,OFFSET(BaseAlloc!$A$2,MATCH($B$2,BaseAlloc!$A$2:$A$1000,0),0,1000,2),2,0)

Enter

ลักษณะของชีต BasAlloc ควรจะเป็น Database อย่างน้อยจะต้องมี 3 คอลัมน์ คือ Allocate name, PC code in PSGL และ % of Allocate unit หากไม่เป็น Database จะใช้สูตรซับซ้อนโดยไม่จำเป็นครับ
koko_excel_tip
Member
Member
Posts: 138
Joined: Wed Sep 13, 2017 9:20 pm

Re: ดึงข้อมูลมากกว่า 3 เงื่อนไขหรืแมากกว่านั้น

#17

Post by koko_excel_tip »

ที่ช่อง U12=IF(OFFSET(Data!$A$7,MATCH('6_No_staff'!$B$1,Data!$A$7:$A$32,0),3)=B12,INDEX(INDIRECT("BaseAlloc!$B"&MATCH($B$2,BaseAlloc!$A$1:$A$172,0)):BaseAlloc!$B$173,MATCH(S12,INDIRECT("BaseAlloc!$A"&MATCH($B$2,BaseAlloc!$A$1:$A$172,0)):BaseAlloc!$A$173,0)),0)
กด [Enter] แล้วลากสูตรลงมา จะได้ตรงกับ Type ด้วยครับ
ตามไฟล์แนบ :D :D :D
You do not have the required permissions to view the files attached to this post.
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลมากกว่า 3 เงื่อนไขหรืแมากกว่านั้น

#18

Post by March201711 »

ค่ะ อาจารย์ file นี้ได้จากแผนกอื่นเป็น data ดิบค่ะ
ถ้าเปลี่ยนเป็นเพิ่ม 3 column อย่างที่อาจารย์แนะนำ ต้องแก้สูตรอย่างไรคะ
You do not have the required permissions to view the files attached to this post.
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลมากกว่า 3 เงื่อนไขหรืแมากกว่านั้น

#19

Post by March201711 »

:D ขอบคุณ คุณ koko excel ที่แนะนำค่ะ แต่งงๆสูตร แล้วข้อมูลไม่มาแสดงที่ cell C12:Q19 ค่ะ ต้องมียอดมาแสดงค่ะ
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ดึงข้อมูลมากกว่า 3 เงื่อนไขหรืแมากกว่านั้น

#20

Post by snasui »

:D เติมคอลัมน์ A ในชีต BaseAlloc ให้เต็ม เซลล์ว่างต้องเติมค่าให้เหมือนค่าด้านบน จากนั้นปรับสูตรที่ U12 เป็นด้านล่างครับ

=LOOKUP(2,1/((BaseAlloc!$A$2:$A$1000=$B$2)*(BaseAlloc!$B$2:$B$1000=$S12)),BaseAlloc!$C$2:$C$1000)
Post Reply