: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

ดึงข้อมูลจากfileตามเดือนในแต่ละเดือน

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

ดึงข้อมูลจากfileตามเดือนในแต่ละเดือน

#1

Post by March201711 »

ดึงข้อมูลของ file อื่นตาม sheet ในแต่ละเดือนต้องปรับสูตรอย่างไรคะ ต้องมานั่งเปลี่ยนเดือนเองในแต่ละเดือน มีหลาย files ค่ะ

Ex: ดึงข้อมูลของfile Year2019 ของเดือน Jan โดยดึงจากแต่ละ rate exchange ที่ Column F มาไว้ที่ column I ของเดือนsheet นี้

ถ้าเป็นเดือน Feb ต้องดึงข้อมูลfile Year2019 ของเดือน Feb โดยดึงจากแต่ละ rate exchange ที่ Column F มาไว้ที่ column I ของเดือนsheet นี้
You do not have the required permissions to view the files attached to this post.
Supachok
Gold
Gold
Posts: 1014
Joined: Wed Jun 18, 2014 11:11 am
Excel Ver: 2013

Re: ดึงข้อมูลจากfileตามเดือนในแต่ละเดือน

#2

Post by Supachok »

หาที่มาที่ไปแหล่งอ้างอิงข้อมูล
ตามคำตอบที่ถูกต้องไม่เจอครับ
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลจากfileตามเดือนในแต่ละเดือน

#3

Post by March201711 »

หาค่าที่ column I file : SumAAA Sheet : Jan ที่cell i502 ถึง cell i513 จะมีสูตรที่ใช้vlookup ดึงจาก file Year2019 ทีาเดือน Jan ตรงสูตร vlookup นี้ต้องมานั่งเปลี่ยนเดือนเองทุกครั้ง อยากให้สูตรรู้เองว่า
ถ้าอยู่Sheet เดือน Jan ก็ให้ดึงข้อมูลที่ file year2019 ของเดือน Jan
ถ้าอยู่Sheet เดือน Feb ก็ให้ดึงข้อมูลที่ file year2019 ของเดือน Feb
Supachok
Gold
Gold
Posts: 1014
Joined: Wed Jun 18, 2014 11:11 am
Excel Ver: 2013

Re: ดึงข้อมูลจากfileตามเดือนในแต่ละเดือน

#4

Post by Supachok »

I503

=+J503*VLOOKUP($G503,INDIRECT("'[Year2019.xlsx]"&MID((CELL("filename",A1)),FIND("]",CELL("filename",A1))+1,255)&"'!$B:$F"),5,FALSE)

copy down
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลจากfileตามเดือนในแต่ละเดือน

#5

Post by March201711 »

แล้ว cell G502 ทำไมไม่มีเหมือนกับ cell อื่นคะ
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ดึงข้อมูลจากfileตามเดือนในแต่ละเดือน

#6

Post by snasui »

March201711 wrote: Mon Apr 01, 2019 7:56 pm แล้ว cell G502 ทำไมไม่มีเหมือนกับ cell อื่นคะ
:D ช่วยแนบไฟล์ล่าสุดที่ได้นำสูตรไปใช้แล้วพร้อมชี้ใหเ้ห็นว่าเซลล์ใดมีค่าเป็นเท่าใด ค่าที่ถูกต้องคือค่าเท่าใด มาจากเซลล์ไหน จะได้สะดวกในการตอบครับ
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลจากfileตามเดือนในแต่ละเดือน

#7

Post by March201711 »

แก้ได้แล้วค่ะ ขอบคุณคุณ supachokและอาจารย์ค่ะ
=+J503*VLOOKUP($G503,INDIRECT("'[Year2019.xlsx]"&MID((CELL("filename",A1)),FIND("]",CELL("filename",A1))+1,255)&"'!$B:$F"),5,FALSE)
ช่วยอธิบายสูตรได้ไหมคะ จะได้ประยุกต์ใช้งานอื่นต่อค่ะ :D
Supachok
Gold
Gold
Posts: 1014
Joined: Wed Jun 18, 2014 11:11 am
Excel Ver: 2013

Re: ดึงข้อมูลจากfileตามเดือนในแต่ละเดือน

#8

Post by Supachok »

INDIRECT("'[Year2019.xlsx]"&MID((CELL("filename",A1)),FIND("]",CELL("filename",A1))+1,255)&"'!$B:$F")

เป็นการ indirect ข้ามไฟล์ รูปแบบจะมี [] เป็นตัวระบุตำแหน่งไฟล์ที่ต้องเปิดไว้
MID((CELL("filename",A1)) เป็นการหาตำแหน่ง location ตั้งแต่ Drive > folder > file > sheet

ตัวอย่าง เช่น
C:\Users\trtpt\Downloads\[Book1 (32).xlsx]เงื่อนไข

จากนั้นใช้ find ในการหา "]" ตำแหน่งเพื่อใช้ MID กำหนดค่าตัวเริ่มและท้ายของอักษรใหม่
หากได้คำใดๆ ที่ MID ทำงานเสร็จแล้ว
จะเป็นหน้าที่ indirect ในการส่งค่าตำแหน่ง Range กลับต่อให้ vlookup ทำงานสุดท้ายต่อ
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลจากfileตามเดือนในแต่ละเดือน

#9

Post by March201711 »

แล้วทำไมต้อง+1,255 ด้วยคะ ถ้าเป็นเลขอื่นได้ไหมคะ สงสัยนะค่ะ
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ดึงข้อมูลจากfileตามเดือนในแต่ละเดือน

#10

Post by snasui »

:D จากสูตร

MID((CELL("filename",A1)),FIND("]",CELL("filename",A1))+1,255)

เป็นการหาชื่อชีตเพื่อนำมาประกอบกับส่วนที่อยู่ด้านหน้าและหลังสูตรนี้

ที่ต้อง +1 เพื่อให้ตัดตั้งแต่อักขระหลังเครื่องหมาย ] ไปใช่ ้ถ้าไม่บวก 1 จะติดอักขระ ] เข้ามาด้วย จะทำให้ใช้การไม่ได้

ส่วนตัวเลข 255 เป็นการเผื่อไว้ว่าให้ตัดมา 255 อักขระครับ เราสามารถใช้เลข 31 ไปเลยก็ย่อมได้เพราะชื่อชีตในปัจจุบัน Excel กำหนดให้ยาวได้เพียง 31 อักขระ

การแกะสูตรให้คลุมส่วนประกอบที่เราสนใจแล้วกดแป้น F9 จะได้ทราบว่าผลลัพธ์ของสูตรนั้น ๆ คืออะไร ส่วนความหมายสูตรควรจะศึกษาตามไฟล์ที่ผมแจกไปใน Link นี้ครับ viewtopic.php?f=9&t=13233
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลจากfileตามเดือนในแต่ละเดือน

#11

Post by March201711 »

ค่ะ ขอบคุณอาจารย์มากค่ะ :D เข้าใจขึ้นเยอะเลยค่ะ
Post Reply