Page 1 of 1

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

Posted: Mon Apr 01, 2019 11:24 am
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 นี้

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

Posted: Mon Apr 01, 2019 11:47 am
by Supachok
หาที่มาที่ไปแหล่งอ้างอิงข้อมูล
ตามคำตอบที่ถูกต้องไม่เจอครับ

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

Posted: Mon Apr 01, 2019 1:34 pm
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

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

Posted: Mon Apr 01, 2019 3:52 pm
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

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

Posted: Mon Apr 01, 2019 7:56 pm
by March201711
แล้ว cell G502 ทำไมไม่มีเหมือนกับ cell อื่นคะ

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

Posted: Mon Apr 01, 2019 11:14 pm
by snasui
March201711 wrote: Mon Apr 01, 2019 7:56 pm แล้ว cell G502 ทำไมไม่มีเหมือนกับ cell อื่นคะ
:D ช่วยแนบไฟล์ล่าสุดที่ได้นำสูตรไปใช้แล้วพร้อมชี้ใหเ้ห็นว่าเซลล์ใดมีค่าเป็นเท่าใด ค่าที่ถูกต้องคือค่าเท่าใด มาจากเซลล์ไหน จะได้สะดวกในการตอบครับ

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

Posted: Tue Apr 02, 2019 10:42 am
by March201711
แก้ได้แล้วค่ะ ขอบคุณคุณ supachokและอาจารย์ค่ะ
=+J503*VLOOKUP($G503,INDIRECT("'[Year2019.xlsx]"&MID((CELL("filename",A1)),FIND("]",CELL("filename",A1))+1,255)&"'!$B:$F"),5,FALSE)
ช่วยอธิบายสูตรได้ไหมคะ จะได้ประยุกต์ใช้งานอื่นต่อค่ะ :D

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

Posted: Tue Apr 02, 2019 1:28 pm
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 ทำงานสุดท้ายต่อ

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

Posted: Tue Apr 02, 2019 8:46 pm
by March201711
แล้วทำไมต้อง+1,255 ด้วยคะ ถ้าเป็นเลขอื่นได้ไหมคะ สงสัยนะค่ะ

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

Posted: Tue Apr 02, 2019 9:54 pm
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

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

Posted: Wed Apr 03, 2019 9:24 pm
by March201711
ค่ะ ขอบคุณอาจารย์มากค่ะ :D เข้าใจขึ้นเยอะเลยค่ะ