: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

ต้องการดึงข้อมูล 5 อันสุดท้ายจาก sheet 1 ออกไปแสดงใน sheet 2 ทำอย่างไร?

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
phop
Member
Member
Posts: 5
Joined: Fri Feb 08, 2019 3:19 pm

ต้องการดึงข้อมูล 5 อันสุดท้ายจาก sheet 1 ออกไปแสดงใน sheet 2 ทำอย่างไร?

#1

Post by phop »

ต้องการดึงข้อมูล 5 อันสุดท้ายจาก sheet 1 ออกไปแสดงใน sheet 2 ทำอย่างไร?
โดยมีเงื่อนไขดังต่อไปนี้
1. ข้อมูลใน sheet 1 จะมีการเพิ่มขึ้นเรื่อยๆทุกวัน โดยลงข้อมูลต่อด้านล่างไปเรื่อยๆ
2. ต้องการเฉพาะข้อมูล 5 อันล่าสุด (ซึ่งอาจจะไม่ได้เรียงตามวันที่ สมมุติข้อมูลมีวันที่ 1-7 ต้องการให้แสดงข้อมูลล่าสุด 5 อันดับสุดท้ายที่เพิ่มเข้ามาคือข้อมูลของวันที่ 3-7 โดยต้องการข้อมูลที่มาเพิ่ม 5 อันสุดท้าย โดยไม่สนใจวันที่ข้างหน้า เพราะบางวันอาจมีข้อมูล 2 ชุด (*ดูต่อเงื่อนไขข้อ 4) ไปแสดงข้อมูลอยู่ใน sheet 2 เช่น ใน sheet 2 จะแสดงข้อมูลของวันที่ 3-7
3. พอวันรุ่งขึ้นวันที่ 8 ใน sheet 1 ก็จะมีการเพิ่มข้อมูลวันที่ 8 ลงไป โดยต่อข้างล่างจากวันที่ 7 อยากให้ใน sheet 2 แสดงข้อมูล วันที่ 4 - 8 โดยไม่ต้องแสดงวันที่ 3 อีกแล้ว คือข้อมูลที่อยากให้แสดงจะมีแค่ 5 บรรทัดเสมอ
4. กรณีที่วันไหนมีข้อมูล 2 ชุด ให้ดึงเฉพาะข้อมูลชุด 2 เท่านั้น มาแสดงใน sheet 2 ไม่เอาข้อมูลชุดแรก เช่น ในกรณีที่วันที่ 7 มีข้อมูล 2 ชุด ให้เอาข้อมูลวันที่ชุดที่เพิ่มทีหลังมาแสดงใน sheet 2 โดยไม่ต้องแสดงข้อมูลชุดแรก ในกรณีนี้ sheet 2 ก็จะแสดงข้อมูลวันที่ 3-7 (โดยวันที่ 7 แสดงเฉพาะข้อมูลชุดที่ 2)

ขอความกรุณาจากผู้รู้ด้วยครับ
You do not have the required permissions to view the files attached to this post.
phop
Member
Member
Posts: 5
Joined: Fri Feb 08, 2019 3:19 pm

Re: ต้องการดึงข้อมูล 5 อันสุดท้ายจาก sheet 1 ออกไปแสดงใน sheet 2 ทำอย่างไร?

#2

Post by phop »

ขออนุญาตครับ โพสเองตอบเอง (เนื่องจากในระหว่างที่รอคำตอบจากที่นี่ ผมไปบังเอิญเจอกระทู้หนึ่งใน pantip.com (https://pantip.com/topic/34720760) คุณปรุงก่อนชิมได้มาตอบไว้คล้ายๆกับที่ผมต้องการ แล้วผมก็เพิ่มเติมอีกนิดหน่อยได้ตรงกับความต้องการของผม (เกือบพอดี) คือได้ตามเงื่อนไข 1-3 แต่ไม่ได้ข้อ 4
คือใช้สูตร =INDEX('sheet1'!B1:B60007,COUNTA('sheet1'!B1:B60007)) จะได้อันล่าสุด
=INDEX('sheet1'!B1:B60007,COUNTA('sheet1'!B1:B60007)-1,0) ได้ของเมื่อวาน
=INDEX('sheet1'!B1:B60007,COUNTA('sheet1'!B1:B60007)-2,0) ได้ของเมื่อวานซืน
=INDEX('sheet1'!B1:B60007,COUNTA('sheet1'!B1:B60007)-3,0) วันก่อนเมื่อวานซืน
=INDEX('sheet1'!B1:B60007,COUNTA('sheet1'!B1:B60007)-4,0) วันก่อนวันก่อนเมื่อวานซืน
ซึ่งได้ครบ 5 วันตามแบบที่ต้องการพอดี พอลงข้อมูลวันใหม่ มันก็เปลี่ยนตาม เอาแค่ข้อมูล 5 อันล่าสุดมาให้

แต่ยังขาดเงื่อนไขข้อ 4 คือกรณีที่วันไหนมีข้อมูล 2 ชุดแล้วจะเอาเฉพาะชุดใหม่ ไม่เอาชุดแรกของวันนั้น รบกวนท่านผู้รู้ด้วยครับ
User avatar
puriwutpokin
Guru
Guru
Posts: 3801
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: ต้องการดึงข้อมูล 5 อันสุดท้ายจาก sheet 1 ออกไปแสดงใน sheet 2 ทำอย่างไร?

#3

Post by puriwutpokin »

ตามไฟล์แนบ ชีท1 ไม่มีครับ ชีท2 ก็ไม่มีครับ ควรทำข้อมูลให้ตรงกับการตั้งคำถามครับ
และข้อมูลหลักแสดงให้ชัดเจน และผลลัพธ์ที่ต้องการ ก็แสดงให้ดูเป็นตัวอย่างด้วยครับ
จะได้สะดวกต่อการตอบครับ
:shock: :roll: :D
User avatar
Bo_ry
Gold
Gold
Posts: 1245
Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:

Re: ต้องการดึงข้อมูล 5 อันสุดท้ายจาก sheet 1 ออกไปแสดงใน sheet 2 ทำอย่างไร?

#4

Post by Bo_ry »

Sheet2 B2 ลากขวา ลากลง

=INDEX(Sheet3!B:B,LARGE(IF(MATCH(INDEX(Sheet3!$B:$B,N(IF(1,MATCH("ๆ",Sheet3!$B:$B)-ROW($B$1:$B$9)+1)))&"",INDEX(Sheet3!$B:$B,N(IF(1,MATCH("ๆ",Sheet3!$B:$B)-ROW($B$1:$B$9)+1)))&"",)=ROW($B$1:$B$9),MATCH("ๆ",Sheet3!$B:$B)-ROW($B$1:$B$9)+1),6-ROWS(B$2:B2)))
You do not have the required permissions to view the files attached to this post.
Post Reply