:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup:

:!: โปรดทราบ :!:
  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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
Xcelvba
Bronze
Bronze
Posts: 344
Joined: Thu Feb 03, 2022 9:04 am
Excel Ver: 2019

การนำข้อมูลมาใส่ตาราง

#1

Post by Xcelvba »

ต้องการนำข้อมูลใน Sheet "Data" มาใส่ ใน Sheet schedule ตั้งแต่ D7:AH1057 ครับ
โดย อ้างอิงจาก
วันที่ และ รหัส ในชีท Data มาใส่ ตัวย่อจาก Symbol ครับ
You do not have the required permissions to view the files attached to this post.
Xcelvba
Bronze
Bronze
Posts: 344
Joined: Thu Feb 03, 2022 9:04 am
Excel Ver: 2019

Re: การนำข้อมูลมาใส่ตาราง

#2

Post by Xcelvba »

ตอนนี้สามารถนำสูตรมาใส่ได้แล้วครับ แต่ปัญหาที่พบคือ ใช้เวลาคำนวณ ค่อนข้างนาน ขอช่วยแก้สูตรให้หน่อยครับ

=IFERROR(INDEX(data!$E:$E,AGGREGATE(15,6,ROW(data!$C$2:$C$2293)/((DAY(data!$C$2:$C$2293)=schedule!D$6)*(data!$A$2:$A$2293=schedule!$B7)),ROWS(schedule!D7:D7))),"")

*ใส่ตั้งแต่ D7:AH1051 *
User avatar
snasui
Site Admin
Site Admin
Posts: 29982
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: การนำข้อมูลมาใส่ตาราง

#3

Post by snasui »

:D รายงานนี้ต้องการคำนวณแบบเซลล์ต่อเซลล์และพื้นที่ในการแสดงผลมีจำนวนมากเป็นปกติที่จะทำงานได้ช้า ควรออกแบบรายงานใหม่ให้แสดงเป็นชุด ชูดละ 30 บรรทัด สามารถคลิกเพื่อเลื่อนไปดูชุดถัดไปหรือชุดก่อนหน้าได้ แทนที่จะเขียนสูตรลงไปทุกเซลล์ทุกบรรทัดครับ
Xcelvba
Bronze
Bronze
Posts: 344
Joined: Thu Feb 03, 2022 9:04 am
Excel Ver: 2019

Re: การนำข้อมูลมาใส่ตาราง

#4

Post by Xcelvba »

คลิกเพื่อดูเป็น ชุดๆ นี้อย่างไรครับ สร้างปุ่มขึ้นมาแล้ว
แยกแต่ละ ชีท ให้มีข้อมูล 30 บรรทัดใช่ไหมครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 29982
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: การนำข้อมูลมาใส่ตาราง

#5

Post by snasui »

:D ดูตัวอย่างในไฟล์แนบครับ

วิธีการ
  1. เข้าเมนู Developer > เข้าเมนู Insert > ลาก Scroll bar มาวาง สำหรับการสร้างขึ้นมาใหม่
  2. สำหรับในไฟล์ที่แนบมาด้วย คลิกขวาที่ Scroll bar > Format Control > ดูการกำหนดค่า เปลี่ยนค่าให้สอดคล้องกับข้อมูลที่มีอยู่จริง
  3. เซลล์ B7 คีย์สูตร
    =INDEX(data!$A$2:$A$2293,(30*($B$5-1))+ROWS(D$7:D7))
    Enter > Copy ลงด้านล่าง
  4. เซลล์ D7 คีย์สูตร
    =IFERROR(LOOKUP(2,1/((DAY(data!$C$2:$C$2293)=D$6)*(data!$A$2:$A$2293=$B7)),data!$E$2:$E$2293),"")
    Enter > Copy ไปด้านขวาและลงด้านล่าง
  5. คลิก Scroll bar เพื่อเลื่อนซ้าย ขวา ตามต้องการ
You do not have the required permissions to view the files attached to this post.
Xcelvba
Bronze
Bronze
Posts: 344
Joined: Thu Feb 03, 2022 9:04 am
Excel Ver: 2019

Re: การนำข้อมูลมาใส่ตาราง

#6

Post by Xcelvba »

ขอบคุณครับ อ. มีวิธีที่ให้ โชว์ เฉพาะ รหัส ละ 1 แถวไหมครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 29982
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: การนำข้อมูลมาใส่ตาราง

#7

Post by snasui »

:D ควรสร้างข้อมูลนั้นไว้ต่างหากแล้วค่อยดึงมาใช้แทนเพื่อลดภาระการทำงานของสูตรครับ
Xcelvba
Bronze
Bronze
Posts: 344
Joined: Thu Feb 03, 2022 9:04 am
Excel Ver: 2019

Re: การนำข้อมูลมาใส่ตาราง

#8

Post by Xcelvba »

ขอบคุณ สำหรับคำแนะนำครับ ขอสอบถามเพิ่มเติมครับ

1.=INDEX(data!$A$2:$A$2293,(30*($B$5-1))+ROWS(D$7:D7))
1.130 คือ จำนวนชุดนึงมี 30 แถวใช่ไหมครับ
1.2ส่วน -1 คืออะไรครับ

2.Form controls กับ Active X Controls ต่างกันอย่างไรครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 29982
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: การนำข้อมูลมาใส่ตาราง

#9

Post by snasui »

Xcelvba wrote: Fri Dec 09, 2022 9:03 am 30 คือ จำนวนชุดนึงมี 30 แถวใช่ไหมครับ
:D ใช่ครับ
Xcelvba wrote: Fri Dec 09, 2022 9:03 am -1 คืออะไรครับ
คือตัวเลขที่จะต้องไปหักออกจาก B5 โดยคำนึงถึงว่าหาก B5 เป็น 1 แล้วคำตอบของ (30*($B$5-1))+ROWS(D$7:D7) มีค่าเป็น 1 เสมอนั่นคือ

30*(1-1)+ROWS(D$7:D7)
Xcelvba wrote: Fri Dec 09, 2022 9:03 am Form controls กับ Active X Controls ต่างกันอย่างไรครับ
ActiveX Control สามารถใช้ VBA เข้าไปควบคุมได้อย่างครอบคลุมมากกว่าครับ
Xcelvba
Bronze
Bronze
Posts: 344
Joined: Thu Feb 03, 2022 9:04 am
Excel Ver: 2019

Re: การนำข้อมูลมาใส่ตาราง

#10

Post by Xcelvba »

:thup: ขอบคุณมากๆ ครับ
Post Reply