: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

ดึงค่าจาก sheet หนึ่งมาจัดการแบบอัตโนมัติโดยมีเงื่อนไข

ฟอรัมถาม-ตอบปัญหาการใช้งาน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
User avatar
snasui
Site Admin
Site Admin
Posts: 30920
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ดึงค่าจาก sheet หนึ่งมาจัดการแบบอัตโนมัติโดยมีเงื่อนไข

#21

Post by snasui »

:D ช่วยทำตัวอย่างคำตอบในชีท SMC มาด้วยจะได้เข้าใจตรงกันว่าผลลัพธ์ที่ต้องการเป็นเช่นไรครับ

การจะแยกข้อมูลออกมาเป็นอย่างใดก็ตาม จะต้องให้สัมพันธ์กับข้อมูลที่มีใน Database เช่นกรณีที่ผมถามไปก่อนหน้านี้ ต้องการแยก SMC1, SMC2 ออกมา แต่ใน Database ไม่สามารถระบุได้ว่าบรรทัดใดเป็นเป็น SMC1 บรรทัดใดเป็น SMC2

หากสามารถระบุเพิ่มในชีท LINE ได้ว่าบรรทัดใดเป็น SMC1, SMC2 ก็ย่อมจะใช้งานได้เช่นกัน หรือกรณีตามไฟล์แนบล่าสุดก็สามารถใช้งานได้เช่นกันเนื่องจากไม่ได้แยกชีตออกเป็น SMC1, SMC2 ครับ
zixnutz
Member
Member
Posts: 48
Joined: Mon Jul 11, 2016 11:41 am

Re: ดึงค่าจาก sheet หนึ่งมาจัดการแบบอัตโนมัติโดยมีเงื่อนไข

#22

Post by zixnutz »

ตัวอย่างคำตอบที่ต้องการครับ

ขอบคุณสำหรับความรู้ที่อธิบายมาครับ เข้าใจมากขึ้นเลยครับ :thup:
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30920
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ดึงค่าจาก sheet หนึ่งมาจัดการแบบอัตโนมัติโดยมีเงื่อนไข

#23

Post by snasui »

:D ตัวอย่างสูตรครับ
  1. ที่ชีต SMC เซลล์ G4:L4 คีย์ค่าต่อไปนี้ตามลำดับ Name, JobNo, ไส้แบบ, Cycle, Line, Start
  2. เซลล์ G5 คีย์
    =IFERROR(INDEX(database!$D$4:$D$13,SMALL(IF($B$2=database!$G$4:$G$13,ROW(database!$D$4:$D$13)-ROW(database!$D$4)+1),ROWS(G$5:G5))),"")
    Ctrl+Shift+Enter > Copy ลงด้านล่าง
  3. เซลล์ H5 คีย์
    =IF(G5="","",INDEX(database!$B$4:$B$13,MATCH(G5,database!$D$4:$D$13,0)))
    Enter > Copy ลงด้านล่าง
  4. เซลล์ I5 คีย์
    =IF(G5="","",SUMIFS(LINE!$G$5:$G$28,LINE!$I$5:$I$28,$B$2,LINE!$C$5:$C$28,G5))
    Enter > Copy ลงด้านล่าง
  5. เซลล์ J5 คีย์
    =IF(G5="","",SUMIFS(database!$H$4:$H$13,database!$G$4:$G$13,$B$2,database!$D$4:$D$13,G5))
    Enter > Copy ลงด้านล่าง
  6. เซลล์ K5 คีย์
    =ROUNDUP(I5/J5,0)
    Enter > Copy ลงด้านล่าง
  7. เซลล์ K7 คีย์
    =SUM(K5:K6)
    Enter
  8. เซลล์ L5 คีย์
    =SUM(K$5:K5)-K5+1
    Enter > Copy ลงด้านล่าง
  9. เซลล์ C5 คีย์
    =IF(ROWS(C$5:C5)>$K$7,"",LOOKUP(ROWS(C$5:C5),$L$5:$L$6,$H$5:$H$6))
    Enter > Copy ลงด้านล่าง
zixnutz
Member
Member
Posts: 48
Joined: Mon Jul 11, 2016 11:41 am

Re: ดึงค่าจาก sheet หนึ่งมาจัดการแบบอัตโนมัติโดยมีเงื่อนไข

#24

Post by zixnutz »

ขอรบกวนอีกครั้งนะครับ

ไม่ทราบว่ามีสูตรแบบพิจารณาจาก Job No. ไหมครับ
ที่สูตรให้มา คือพิจารณาจาก Name ใช่ไหมครับ

พอไปประยุกต์ใช้จริงๆ จะมีบาง Job ที่มีชื่อเหมือนกันครับ

ขอบคุณครับ :D
User avatar
snasui
Site Admin
Site Admin
Posts: 30920
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ดึงค่าจาก sheet หนึ่งมาจัดการแบบอัตโนมัติโดยมีเงื่อนไข

#25

Post by snasui »

:D แนบไฟล์ที่ได้ปรับสูตรตามที่ผมตอบไปแล้วมาด้วยจะได้ตอบต่อไปจากนั้นครับ
zixnutz
Member
Member
Posts: 48
Joined: Mon Jul 11, 2016 11:41 am

Re: ดึงค่าจาก sheet หนึ่งมาจัดการแบบอัตโนมัติโดยมีเงื่อนไข

#26

Post by zixnutz »

ผมได้ลองเปลี่ยน Name ของ Job A08 ให้ซ้ำกับ A04
ผลทำให้ Job A08 ไม่แสดงข้อมูลครับ

ขอถามเพิ่มเติมครับ คอลัมน์ M,N คือค่าอะไรครับ

ผมลองทำแค่ ชีต SMC ชีตเดียวนะครับ
ขอบคุณครับ :D
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30920
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ดึงค่าจาก sheet หนึ่งมาจัดการแบบอัตโนมัติโดยมีเงื่อนไข

#27

Post by snasui »

:D สูตรทั้งหลายที่ผมแนะนำไปนั้นมีถึงคอลัมน์ L เท่านั้นครับ

สูตรใน L5 และ C5 ยังไม่ตรงกับที่ผมแจ้งไป กรุณาทบทวนใหม่ทั้งหมดแล้วคีย์ให้ตรงตามนั้น ส่วนปัญหาว่าต้องการจะให้แสดงผลอย่างไร ให้เขียนอธิบายแยกออกมาต่างหากครับ
zixnutz
Member
Member
Posts: 48
Joined: Mon Jul 11, 2016 11:41 am

Re: ดึงค่าจาก sheet หนึ่งมาจัดการแบบอัตโนมัติโดยมีเงื่อนไข

#28

Post by zixnutz »

แก้ไขแล้วครับ ขอประทานโทษด้วยครับที่ดูไม่ละเอียด :flw:

ดูโดยรวมแล้ว ใกล้จะได้อย่างที่ต้องการแล้ว
แต่ยังมีเรื่อง Job ที่มี Name ซ้ำกันครับ ทำให้ค่า Job ที่มี Name อีกค่าไม่ขึ้นแสดงครับ
ต้องการให้แสดงค่า Name ที่ซ้ำกันด้วยครับ

ตัวอย่างอยู่ที่ ชีต SMC ครับ
Job A04 และ A08 มีชื่อที่เหมือนกันทำให้ ข้อมูลของ A08 ไม่แสดงผลขึ้นมาครับ

แต่ผมคิดว่าอยากให้การพิจารค่า โดยดึงข้อมูลจาก Job No. ได้ไหมครับ

ขอบคุณครับ :thup:
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30920
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ดึงค่าจาก sheet หนึ่งมาจัดการแบบอัตโนมัติโดยมีเงื่อนไข

#29

Post by snasui »

:D ตัวอย่างการปรับสูตรตามด้านล่าง เซลล์ใดที่ไม่ได้ปรับคือสูตรเดิมที่แจ้งไปแล้วครับ
  1. G5 คีย์
    =IF(H5="","",INDEX(database!$D$4:$D$13,MATCH(H5,database!$B$4:$B$13,0)))
    Enter > Copy ลงด้านล่าง
  2. H5 คีย์
    =IFERROR(INDEX(database!$B$4:$B$13,SMALL(IF($B$2=database!$G$4:$G$13,ROW(database!$D$4:$D$13)-ROW(database!$D$4)+1),ROWS(H$5:H5))),"")
    Ctrl+Shift+Enter > Copy ลงด้านล่าง
  3. I5 คีย์
    =IF(H5="","",SUMIFS(LINE!$G$5:$G$28,LINE!$I$5:$I$28,$B$2,LINE!$D$5:$D$28,H5))
    Enter > Copy ลงด้านล่าง
  4. J5 คีย์
    =IF(H5="","",SUMIFS(database!$H$4:$H$13,database!$G$4:$G$13,$B$2,database!$B$4:$B$13,H5))
    Enter > Copy ลงด้านล่าง
  5. C5 คีย์
    =IF(ROWS(C$5:C5)>$K$7,"",LOOKUP(ROWS(C$5:C5),$L$5:$L$6,$H$5:$H$6))
    Enter > Copy ลงด้านล่าง
zixnutz
Member
Member
Posts: 48
Joined: Mon Jul 11, 2016 11:41 am

Re: ดึงค่าจาก sheet หนึ่งมาจัดการแบบอัตโนมัติโดยมีเงื่อนไข

#30

Post by zixnutz »

ขอบคุณครับ เดี๋ยวต้องลองมาประยุกต์ใช้ในงานจริงก่อน

ถ้าติดปัญหาอะไรอีก เดี๋ยวขอมาสอบถามเพิ่มเติมนะครับ

ขอขอบพระคุณอีกทีครับ ที่สละเวลามาตอบคำถามให้หลายวัน :D
Post Reply