Page 2 of 2

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

Posted: Sat Sep 21, 2013 6:16 pm
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 แบบตามด้านบน

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

Posted: Sat Sep 21, 2013 6:54 pm
by yodpao.b
ขอบคุณครับครับ
เข้าใจแล้วครับ

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

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


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

คำถามสุดท้าย การใช้ Index แทน VLOOKUP ไฟล์จะเล็กไหมครับ

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

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


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

คำถามสุดท้าย การใช้ Index แทน VLOOKUP ไฟล์จะเล็กไหมครับ
:D ช่วยได้ครับ แต่ก็อยู่ที่การใช้สูตรเป็นสำคัญครับ

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

Posted: Sat Sep 21, 2013 8:24 pm
by snasui
:D ผมไม่เคยเทียบว่าเล็กหรือไม่แต่สิ่งที่เป็นข้อดีของ Index+Match คือทำงานเร็วกว่า Vlookup กรณีที่ใช้จำนวนมากครับ

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

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

การแก้ไขปัญหาอย่างหนึ่งคือการใช้ฟังก์ชั่นการปัดเศษเช่น Round เข้ามาช่วยเพื่อปัดให้เป็นตัวเลขตามที่ควรจะเป็น ไม่ใช่คอยแก้บางตัวเลขด้วยมืออยู่เสมอไป

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

Posted: Wed Sep 25, 2013 12:42 pm
by yodpao.b
เข้าใจแล้วครับอาจารย์