: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

ดึงข้อมูลมาแปะต่อกัน

ฟอรัมถาม-ตอบปัญหาการใช้งาน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
malin
Member
Member
Posts: 13
Joined: Mon Jan 10, 2011 11:24 am

ดึงข้อมูลมาแปะต่อกัน

#1

Post by malin »

สวัสดีค่ะ
มีเรื่องรบกวนสอบถามค่ะ ขออธิบายลักษณะงานก่อนนะคะ คือมี sheet ที่ใช้งานอยู่ 3 sheet ค่ะ คือ data base, master plan และ preparing ค่ะ ซึ่ง data base ก็คือ ฐานข้อมูลของส่วนผสมของผลิตภัณฑ์ชนิดต่าง ๆ ค่ะ ส่วน master plan ก็คือการวางแผนการผลิตของผลิตภัณฑ์ชนิดต่าง ๆ ในแต่ละวัน (ซึ่งในแต่ละวันอาจจะมีการผลิตซ้ำแต่เป็นคนละเวลาค่ะ) ส่วน preparing ก็คือ เมื่อทราบว่าในแต่ละวันจะต้องผลิตอะไรแล้ว จะต้องนำ ส่วนผสมของผลิตภัณฑ์ชนิดต่าง ๆ มาจัดเตรียมไว้ก่อนการผลิต ซึ่งส่วนผสมต่าง ๆ นี้จะแสดงต่อกันอยู่ใน sheet preparing ค่ะ
ปัญหาก็คือ
1. เราจะทำการ copy และ paste อย่างไรคะให้ส่วนผสมของแต่ละชนิดผลิตภัณฑ์มาแสดงต่อ ๆ กัน จนกว่าจะจบค่ะ รบกวนแนะนำด้วยค่ะว่าควรจะใช้สูตรหรือวิธีการทำอย่างไร
2. ต้องการทราบเวลาที่จะต้องเริ่มการจัดเตรียมส่วนผสม ซึ่งนำมาจาก เวลาที่วางแผนในแต่ sheet master plan - เวลาที่กำหนดไว้ในการจัดเตรียมส่วนผสมแต่ละชนิด ใน sheet data base ไม่ทราบว่าต้องใช้สูตรอะไรคะ รบกวนแนะนำด้วยค่ะ
3. ตารางที่ทำอยู่นี้เหมาะสมกับเนื้องานที่ได้อธิบายไปหรือเปล่าคะ ซึ่งรายละเอียดของคำถามและคำตอบที่ต้องการมีระบุอยู่ในไฟล์แนบด้วยค่ะ
ขอบพระคุณค่ะ
มาลิน
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30948
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ดึงข้อมูลมาแปะต่อกัน

#2

Post by snasui »

:D ค่อย ๆ ถามตอบกันไปนะครับ ในชีท master plan ตามภาพด้านล่าง Product Name เีดียวกัน Start Time ต่างกัน หรือมีอะไรเป็นความต่างครับ
11-1-2554 17-54-56.png
You do not have the required permissions to view the files attached to this post.
malin
Member
Member
Posts: 13
Joined: Mon Jan 10, 2011 11:24 am

Re: ดึงข้อมูลมาแปะต่อกัน

#3

Post by malin »

สวัสดีค่ะ

ก่อนอื่นต้องขอบคุณคุณคนควนมากนะคะที่เข้ามาตอบ สำหรับคำถามคือว่า ทำไม product A ถึงมี 2 เวลา คำตอบคือเพราะว่าบางครั้งการผลิตอาจจะไม่ได้ผลิตผลิตภัณฑ์ชนิดเดียวกันในครั้งเดียว วันนึง อาจจะผลิตผลิตภัณฑ์ A 3 ครั้ง ดังนั้น start time เลยไม่ใช่เวลาเดียวกันค่ะ

ขอบคุณค่ะ
มาลิน
User avatar
snasui
Site Admin
Site Admin
Posts: 30948
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ดึงข้อมูลมาแปะต่อกัน

#4

Post by snasui »

:P ยินดีครับ และผมตอบทุกคำถามที่ยังไม่ได้รับคำตอบเป็นปกติอยู่แล้วครับ

:shock: โดยหลักการของโปรแกรมควรจะระบุให้แตกต่างให้ได้ครับ ไม่ว่าจะด้วยครั้งที่หรืออะไรก็ตาม ไม่เช่นนั้นก็ต้องหาวิธีหรือบอกเงื่อนไขให้โปรแกรมรู้ว่าอันแรกกับอันถัดมาไม่ใช่ครั้งเดียวกัน ไม่เช่นนั้นค่าที่ถูกดึงไปจะไม่ตรงกับที่ต้องการครับ :mrgreen:
malin
Member
Member
Posts: 13
Joined: Mon Jan 10, 2011 11:24 am

Re: ดึงข้อมูลมาแปะต่อกัน

#5

Post by malin »

ขอบคุณสำหรับคำแนะนำค่ะ แปลว่าถ้าแยกด้วย start time ที่ไม่ใช่เวลาเดียวกันไม่พอใช่ไม๊คะ ถ้าอย่างนั้นจะแทรก column ครั้งที่ผลิตก่อน column product name ได้หรือเปล่าคะ

ขอบคุณค่ะ
มาลิน
User avatar
snasui
Site Admin
Site Admin
Posts: 30948
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ดึงข้อมูลมาแปะต่อกัน

#6

Post by snasui »

:D จะแยกกันด้วย Start Time ก็สามารถทำได้ครับ

แต่การดึงมาแสดงในชีท preparing จะต้องระบุ Start Time ไว้ด้วย เพื่อใช้เป็นเงื่อนไขในการดึง หรือไม่เช่นนั้นก็ต้องระบุว่าหน้านี้มีเงื่อนไขในการดึงมาอย่างไรครับ
12-1-2554 13-00-17.png
You do not have the required permissions to view the files attached to this post.
malin
Member
Member
Posts: 13
Joined: Mon Jan 10, 2011 11:24 am

Re: ดึงข้อมูลมาแปะต่อกัน

#7

Post by malin »

คุณคนควนคะ

ถ้าต้องมีเงื่อนไขในการดึงโดยใช้ Start Time ในชีท master plan มาเป็นเงื่อนไข คิดว่าก็ดีค่ะ ไม่มีปัญหาอะไรค่ะ รบกวนคุณคนควนแนะนำวิธีการต่อไปด้วยค่ะ

ขอบคุณค่ะ
มาลิน
User avatar
snasui
Site Admin
Site Admin
Posts: 30948
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ดึงข้อมูลมาแปะต่อกัน

#8

Post by snasui »

:D ก่อนวิธีการต่อไปช่วยเพิ่มข้อมูลมาในไฟล์ตัวอย่าง เพื่อให้เห็นภาพว่าข้อมูลเงื่อนไขอยู่ในตำแหน่งใดจะได้ลองดึงข้อมูลมาแสดงเป็นลำดับ ๆ ไปครับ :mrgreen:
malin
Member
Member
Posts: 13
Joined: Mon Jan 10, 2011 11:24 am

Re: ดึงข้อมูลมาแปะต่อกัน

#9

Post by malin »

แนบรายละเอียดมาตามไฟล์แนบแล้วนะคะ รบกวนด้วยค่ะ

ขอบคุณค่ะ
มาลิน
User avatar
snasui
Site Admin
Site Admin
Posts: 30948
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ดึงข้อมูลมาแปะต่อกัน

#10

Post by snasui »

:D ไม่พบไฟล์แนบครับ :P
malin
Member
Member
Posts: 13
Joined: Mon Jan 10, 2011 11:24 am

Re: ดึงข้อมูลมาแปะต่อกัน

#11

Post by malin »

ขอโษค่ะ
แบบว่า........... รีบ+ลืมค่ะ :rz:

ขอบคุณค่ะ
มาลิน
malin
Member
Member
Posts: 13
Joined: Mon Jan 10, 2011 11:24 am

Re: ดึงข้อมูลมาแปะต่อกัน

#12

Post by malin »

ขอโทษอีกครั้งค่ะ

คราวนี้ไม่ลืมแล้วค่ะ :oops: :rz:

ขอบคุณค่ะ
มาลิน
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30948
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ดึงข้อมูลมาแปะต่อกัน

#13

Post by snasui »

:D ที่ระบายสีเป็นสีเหลืองในภาพด้านล่างดึงมาจากชีท master plan อยากทราบว่าดึงมาด้วยเงื่อนไขใดครับ มีคอลัมน์ไหนให้อ้างอิงหรือไม่ การดึงข้อมูลมาได้ต้องระบุเงื่อนไขให้โปรแกรมทราบครับ

แต่หากว่ามีการคีย์ข้อมูลเข้ามาเพื่อให้ดึงตามข้อมูลนั้น เช่นนี้ก็พอจะทำได้ ยกตัวอย่างเช่น ในชีท preparing เซลล์ D3:D12 เป็นการกรอกข้อมูลเข้ามา แล้วให้ดึง C3:C12 อย่างนี้คิดว่าพอทำได้ หรือกลับกันเซลล์ C3:C12 เป็นการกรอกข้อมูลเข้ามา แล้วให้ดึง D3:D12 อย่างนี้คิดว่าพอทำได้เช่นกัน แต่การดึงมาทั้งคู่ จะต้องมีเงื่อนไขในการดึงครับ
12-1-2554 16-14-29.png
You do not have the required permissions to view the files attached to this post.
malin
Member
Member
Posts: 13
Joined: Mon Jan 10, 2011 11:24 am

Re: ดึงข้อมูลมาแปะต่อกัน

#14

Post by malin »

คุณคนควนคะ

ขออธิบายเพิ่มนะคะ คือในชีท master plan จะมีแค่ product name และ เวลาเริ่มผลิต เท่านั้น ซึ่งต้องการให้ชีท preparing แสดงส่วนผสมและน้ำหนัก(ที่อยู่ในชีท data base) ค่ะ โดยยึดลำดับการจัดเตรียมส่วนผสมในชีท master plan ค่ะ โดยนำส่วนผสมของแต่ละผลิตภัณฑ์มาแสดงต่อกันค่ะ
ยกตัวอย่างนะคะ ในชีท master plan ลำดับการผลิตคือ
A 8:30
B 8:35
A 8:40
C 8:45
สิ่งที่ต้องการจะแสดงในชีท preparing คือ
กก 0.5 8:00 M/C 1
ขข 0.7 8:00 M/C 2
ดด 1.0 8:15 M/C 3
จจ 0.5 8:30 M/C 1
กก 0.5 8:10 M/C 1
ขข 0.7 8:10 M/C 2
ไม่ทราบว่าที่อธิบายข้างต้นมันเป็นเงื่อนไขหรือเปล่าคะ สิ่งที่ต้องการคือไม่อยากให้มีการคีย์ข้อมูลในชีท preparing เลยค่ะ (จะเป็นไปได้หรือเปล่าคะ) เพราะถ้าต้องคีย์ข้อมูลเพิ่มอาจจะทำให้เกิดความผิดพลาดขึ้นได้ค่ะ
หมายเหตุ ใช้สูตร index + match ไม่ได้ค่ะ
ขอบคุณค่ะ
มาลิน
User avatar
snasui
Site Admin
Site Admin
Posts: 30948
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ดึงข้อมูลมาแปะต่อกัน

#15

Post by snasui »

:lol: สิ่งที่ต้องการแสดงไม่ว่าจะเป็นสิ่งใดก็ตาม จากไฟล์ไหนก็ตาม จากเครื่องไหนก็ตาม มันจะมาได้ด้วยเงื่อนไขในการดึงข้อมูลถึงจะมาได้ครับ หากไม่มีเงื่อนไขเข้าไปจับก็จะไม่สามารถเขียนด้วยโปรแกรมได้

สิ่งที่ต้องการให้แสดงไม่ใช่เงื่อนไข

ตัวอย่างเงื่อนไขเช่น หากคอลัมน์ A ไม่ว่าง ให้ดึงข้อมูลจากเครื่อง Z ไฟล์ Y ชีท Z ช่วงเซลล์ A1:IV65536 มาแสดง เช่นนี้เป็นต้น :mrgreen:

การคีย์หรือไม่คีย์ไม่ใช่ประเด็น ประเด็นคือดูอะไร จากตรงไหน เมื่อเข้าเงื่อนไขแล้วให้ดึงข้อมูลมาแสดง :mrgreen:
malin
Member
Member
Posts: 13
Joined: Mon Jan 10, 2011 11:24 am

Re: ดึงข้อมูลมาแปะต่อกัน

#16

Post by malin »

dear k.konkuan i'm very sorry that i can not type in thai but i can read kha. Could you pls advise me is it possible to get my need as my last post? If yes,pls advise the way i can get. Thank you and best regards kha
User avatar
snasui
Site Admin
Site Admin
Posts: 30948
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ดึงข้อมูลมาแปะต่อกัน

#17

Post by snasui »

:D Okay I see. I don't know your conditions so I can't suggest anything further more. I can wait you to explain me about your conditions krub. 8-)
malin
Member
Member
Posts: 13
Joined: Mon Jan 10, 2011 11:24 am

Re: ดึงข้อมูลมาแปะต่อกัน

#18

Post by malin »

i think i know the condition is. I will ask you again tomorrow morning na kha.
Thank you kha
Malin
malin
Member
Member
Posts: 13
Joined: Mon Jan 10, 2011 11:24 am

Re: ดึงข้อมูลมาแปะต่อกัน

#19

Post by malin »

สวัสดีค่ะ

แล้วถ้าเป็นว่า ถ้ามี product name ใด ๆ ในชีท master plan ก็ให้ copy ส่วนผสมของ product name นั้น ๆ (ที่อยู่ในชีท data base) มาไว้ชีท preparing อย่างนี้ได้หรือเปล่าคะ

ขอบคุณค่ะ
มาลิน
User avatar
snasui
Site Admin
Site Admin
Posts: 30948
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: ดึงข้อมูลมาแปะต่อกัน

#20

Post by snasui »

:P ที่บอกมานั่นแหละคือเงื่อนไขครับ

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

1. ที่ชีท master plan เซลล์ E3 คีย์

=COUNTIF('data base'!$B$3:$B$10,'master plan'!C3)

Enter > Copy ลงด้านล่าง

2. ที่ชีท master plan เซลล์ E1 คีย์

=SUM(E3:E7)

Enter

3. ที่ชีท master plan เซลล์ E2 คีย์

=MAX(E3:E7)

Enter

4. ที่ชีท preparing เซลล์ C3 คีย์

=IF(ROWS(C$3:C3)>'master plan'!$E$1,"",INDEX('master plan'!C$3:C$7,SMALL(IF(TRANSPOSE(ROW(INDIRECT("1:"&'master plan'!$E$2)))<='master plan'!$E$3:$E$7,ROW('master plan'!$C$3:$C$7)-ROW('master plan'!$C$3)+1),ROWS(C$3:C3))))

Ctrl+Shift+Enter > Copy ไปจนถึง D12

5. ที่ชีท preparing เซลล์ E3 คีย์

=INDEX('data base'!C$3:C$10,SMALL(IF($C3='data base'!$B$3:$B$10,ROW('data base'!$B$3:$B$10)-ROW('data base'!$B$3)+1),SUM(IF($C$3:$C3=$C3,IF($D$3:$D3=$D3,1)))))

Ctrl+Shift+Enter > Copy ไปจนถึง F12

6. ที่ชีท preparing เซลล์ G3 คีย์

=D3-INDEX('data base'!E$3:E$10,SMALL(IF($C3='data base'!$B$3:$B$10,ROW('data base'!$B$3:$B$10)-ROW('data base'!$B$3)+1),SUM(IF($C$3:$C3=$C3,IF($D$3:$D3=$D3,1)))))

Ctrl+Shift+Enter > Copy ลงด้านล่าง

7. ที่ชีท preparing เซลล์ H3 คีย์

=INDEX('data base'!F$3:F$10,SMALL(IF($C3='data base'!$B$3:$B$10,ROW('data base'!$B$3:$B$10)-ROW('data base'!$B$3)+1),SUM(IF($C$3:$C3=$C3,IF($D$3:$D3=$D3,1)))))

Ctrl+Shift+Enter > Copy ลงด้านล่าง

ดูไฟล์แนบประกอบด้านล่างครับ
You do not have the required permissions to view the files attached to this post.
Post Reply