: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
snasui
Site Admin
Site Admin
Posts: 31256
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ต้องการดึงข้อมูลจากอีกชีตมาเก็บไว้ทำอย่างไรครับ

#21

Post by snasui »

:D การปล่อยว่างหรือคีย์เป็น 1 ความหมายเหมือนกันและผลลัพธ์ต้องเหมือนกัน ไม่เหมือนกันไม่ได้ ถ้าไม่เหมือนกันย่อมผิดปกติ ยกเว้นว่าเปลี่ยนเลข 1 เป็น 0 หรือเป็น -1 อย่างนี้ผลลัพธ์มีโอกาสที่จะไม่เท่ากันสูงเพราะเป็นคนละสูตร สำหรับ Match แล้วส่วนประกอบสุดท้ายเป็นสิ่งสำคัญอย่างยิ่ง

จากสูตร

=MATCH(B30,data!$C$5:$C$6917,1) หรือ
=MATCH(B30,data!$C$5:$C$6917)

ความหมายเหมือนกัน คือ ให้หาค่าที่น้อยกว่าหรือเท่ากับ B30 ในช่วง data!$C$5:$C$6917 ว่าอยู่ลำดับที่เท่าไร ถ้าพบให้แสดงผลลัพธ์เป็นลำดับที่พบ ถ้าไม่พบจะแสดง #N/A การใช้ Match แบบนี้ได้จะต้องมั่นใจว่า data!$C$5:$C$6917 มีการเรียงลำดับจากน้อยไปหามากเท่านั้น ถ้าไม่เรียงลำดับตามนี้โอกาสผิดพลาดมีสูงมาก

จากสูตร

=MATCH(B30,data!$C$5:$C$6917,-1)

ความหมาย คือ ให้หาค่าที่มากกว่าหรือเท่ากับ B30 ในช่วง data!$C$5:$C$6917 ว่าอยู่ลำดับที่เท่าไร ถ้าพบให้แสดงผลลัพธ์เป็นลำดับที่พบ ถ้าไม่พบจะแสดง #N/A การใช้ Match แบบนี้ได้จะต้องมั่นใจว่า data!$C$5:$C$6917 มีการเรียงลำดับจากมากไปหาน้อยเท่านั้น ถ้าไม่เรียงลำดับตามนี้โอกาสผิดพลาดมีสูงมาก

จากสูตร

=MATCH(B30,data!$C$5:$C$6917,0)

ความหมาย คือ ให้หาค่าที่เท่ากับ B30 ในช่วง data!$C$5:$C$6917 ว่าอยู่ลำดับที่เท่าไร ถ้าพบให้แสดงผลลัพธ์เป็นลำดับที่พบ ถ้าไม่พบจะแสดง #N/A การใช้ Match แบบนี้ไม่จำเป็นต้องจัดเรียง data!$C$5:$C$6917 เป็นลักษณะการค้นหาแบบตรงตัว จะคำนวณช้ากว่า 2 แบบตามด้านบน
yodpao.b
Gold
Gold
Posts: 1608
Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard

Re: ต้องการดึงข้อมูลจากอีกชีตมาเก็บไว้ทำอย่างไรครับ

#22

Post by yodpao.b »

ขอบคุณครับครับ
เข้าใจแล้วครับ
yodpao.b
Gold
Gold
Posts: 1608
Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard

Re: ต้องการดึงข้อมูลจากอีกชีตมาเก็บไว้ทำอย่างไรครับ

#23

Post by yodpao.b »

ไฟล์นี้มีปัญหา 2 จุด แก้ไขได้แล้วครับ
จุดที่ 1 ปัญหาเกียวกับวันที่ แก้ไขด้วย เมื่อหาค่าทุก 5 นาทีใน 1 วันได้แล้ว บรรทัดต่อไป นำบรรทัดแรกสุด บวก ด้วย 1 แล้ว copy ลงมา
จุดที่ 2 เกี่ยวกับ Index เมื่อสั่งให้ไปวันที่ ที่ไม่มีข้อมูล ค่าที่โชว์จะเป็นค่าสุดท้าย ต้องการให้โชว์ #N/A แก้ไขโดยใช้สูตรโดย เพิ่ม ,0


ขอบคุณมากครับ

คำถามสุดท้าย การใช้ Index แทน VLOOKUP ไฟล์จะเล็กไหมครับ
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ต้องการดึงข้อมูลจากอีกชีตมาเก็บไว้ทำอย่างไรครับ

#24

Post by bank9597 »

yodpao.b wrote:ไฟล์นี้มีปัญหา 2 จุด แก้ไขได้แล้วครับ
จุดที่ 1 ปัญหาเกียวกับวันที่ แก้ไขด้วย เมื่อหาค่าทุก 5 นาทีใน 1 วันได้แล้ว บรรทัดต่อไป นำบรรทัดแรกสุด บวก ด้วย 1 แล้ว copy ลงมา
จุดที่ 2 เกี่ยวกับ Index เมื่อสั่งให้ไปวันที่ ที่ไม่มีข้อมูล ค่าที่โชว์จะเป็นค่าสุดท้าย ต้องการให้โชว์ #N/A แก้ไขโดยใช้สูตรโดย เพิ่ม ,0


ขอบคุณมากครับ

คำถามสุดท้าย การใช้ Index แทน VLOOKUP ไฟล์จะเล็กไหมครับ
:D ช่วยได้ครับ แต่ก็อยู่ที่การใช้สูตรเป็นสำคัญครับ
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
snasui
Site Admin
Site Admin
Posts: 31256
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ต้องการดึงข้อมูลจากอีกชีตมาเก็บไว้ทำอย่างไรครับ

#25

Post by snasui »

:D ผมไม่เคยเทียบว่าเล็กหรือไม่แต่สิ่งที่เป็นข้อดีของ Index+Match คือทำงานเร็วกว่า Vlookup กรณีที่ใช้จำนวนมากครับ

ส่วนที่ต้องบวกด้วย 1 สำหรับกระทู้นี้นั้นถือว่าผิดปกติ จากเดิมที่บวกด้วย 0:15:00 หรือ 0:05:00 ก็ตาม เมื่อข้ามวันเวลาจะต้องเป็นตัวเลขใหม่เสมอ

การบวกค่าใด ๆ เข้าไปกับวัน เวลา หากถึงจำนวนหนึ่งซึ่งเป็นการขึ้นวันใหม่ ค่าจะต้องเปลี่ยนไปครับ เพราะวัน เวลาคือตัวเลข หากมีการบวกด้วยค่าใด ๆ เข้าไปแล้วค่าย่อมต้องเปลี่ยนไป แม้จะเห็นด้วยตาว่าไม่เปลี่ยนแต่เบื้องหลังคือตัวเลขที่ต่างกัน

การแก้ไขปัญหาอย่างหนึ่งคือการใช้ฟังก์ชั่นการปัดเศษเช่น Round เข้ามาช่วยเพื่อปัดให้เป็นตัวเลขตามที่ควรจะเป็น ไม่ใช่คอยแก้บางตัวเลขด้วยมืออยู่เสมอไป
yodpao.b
Gold
Gold
Posts: 1608
Joined: Tue Jul 19, 2011 2:47 pm
Excel Ver: 2013,excel standard

Re: ต้องการดึงข้อมูลจากอีกชีตมาเก็บไว้ทำอย่างไรครับ

#26

Post by yodpao.b »

เข้าใจแล้วครับอาจารย์
Post Reply