Page 1 of 1
อ้างอิงข้อมูลจากชื่อในไฟล์
Posted: Thu May 31, 2012 7:57 pm
by tong9
ผมต้องการดึงข้อมูลตัวเลขจากไฟล์อี่น
ตามตัวอย่างก็คือ อ้างข้อมูลจากไฟล์ Jan_2012_Gang.xls เซลที่ A2
ถ้าต้องการอ้างอิงชื่อไฟล์โดยประกอบจากข้อมูลของ แต่ละเซล ซึ่งได้จาก เซล A2,B2,C2 รวมกัน
จะทำได้ไหมครับ (มีไฟล์แนบ) รบกวนอาจารย์ทุกท่านด้วยครับ
Re: อ้างอิงข้อมูลจากชื่อในไฟล์
Posted: Thu May 31, 2012 8:44 pm
by snasui
ใน Sheet1 เซลล์ E4 ของไฟล์ Refer name.xls คีย์สูตรตามด้านล่างครับ
=INDIRECT("'["&A2&"_"&B2&"_"&C2&".xls]"&"Sheet1'!A2")
Enter
แต่จะต้องเปิดไฟล์ Refer name.xls เอาไว้ด้วยเสมอฟังก์ชั่น Indirect ถึงจะทำงานได้ครับ
Re: อ้างอิงข้อมูลจากชื่อในไฟล์
Posted: Thu May 31, 2012 10:04 pm
by tong9
snasui wrote: ใน Sheet1 เซลล์ E4 ของไฟล์ Refer name.xls คีย์สูตรตามด้านล่างครับ
=INDIRECT("'["&A2&"_"&B2&"_"&C2&".xls]"&"Sheet1'!A2")
Enter
แต่จะต้องเปิดไฟล์ Refer name.xls เอาไว้ด้วยเสมอฟังก์ชั่น Indirect ถึงจะทำงานได้ครับ
อาจารย์น่าจะหมายถึงเปิดไฟล์ Jan_2012_Gang.xls ไว้เสมอ ใช่ไหมครับ
แต่ผมติดปัญหาตรงที่ว่าผมมีไฟล์ดังกล่าวจำนวนมาก จะต่างกันที่ month year store คงจะไม่สะดวกต่อการเปิดขึ้นมานะครับ รบกวนขอคำแนะนำเพิ่มเติมด้วยครับ
Re: อ้างอิงข้อมูลจากชื่อในไฟล์
Posted: Thu May 31, 2012 11:22 pm
by snasui
tong9 wrote:อาจารย์น่าจะหมายถึงเปิดไฟล์ Jan_2012_Gang.xls ไว้เสมอ ใช่ไหมครับ
ใช่แล้วครับ
กรณีมีไฟล์จำนวนมากและไม่ต้องการเปิดไฟล์ไว้ก่อน ไม่สามารถใช้สูตรดึงค่ามาได้ คงต้องพึ่ง VBA และหากจะใช้ VBA จำเป็นต้องเขียนมาก่อนเสมอ ติดตรงไหนสามารถถามมาได้เรื่อย ๆ ครับ
Re: อ้างอิงข้อมูลจากชื่อในไฟล์
Posted: Fri Jun 01, 2012 4:23 am
by tong9
snasui wrote:tong9 wrote:อาจารย์น่าจะหมายถึงเปิดไฟล์ Jan_2012_Gang.xls ไว้เสมอ ใช่ไหมครับ
ใช่แล้วครับ
กรณีมีไฟล์จำนวนมากและไม่ต้องการเปิดไฟล์ไว้ก่อน ไม่สามารถใช้สูตรดึงค่ามาได้ คงต้องพึ่ง VBA และหากจะใช้ VBA จำเป็นต้องเขียนมาก่อนเสมอ ติดตรงไหนสามารถถามมาได้เรื่อย ๆ ครับ
ผมไม่มีความรู้เรื่องการเขียน VBA เลยครับ แต่ไปค้นเจอกระทู้เก่าที่อาจารย์เคยตอบไว้ครับ
http://topicstock-tech.pantip.com/tech/ ... 20478.html
**************
วิธีการ
1. เป็นไฟล์เปล่าขึ้นมา 1 ไฟล์
2. ที่ A1 คีย์ ="='D:\Data\"
3. ที่ B2:B200 เป็นชื่อโรงเรียน
4. ที่ C1:F1 คีย์ A2, B2, C2, D2 ตามลำดับ
5. ที่ C2 คีย์ =$A$1&"["&$B2&".xls]Sheet1'!"&C$1
6. Copy ข้อ 5 ไปวาง C2:F200
7. Copy ข้อ 6 แล้ววางเป็น Value
8. เ้ข้าเมนู Edit > Replace ทั้งช่องบนและช่องล่างใ่ส่เครื่องหมาย = จากนั้นคลิกปุ่ม Replace All ดูรูปประกอบด้านล่างครับ
**************
เลยมีคำถามเพิ่มเติมจากกระทู้เก่าดังนี้ครับ
1. มีรูปภาพเต็มๆ ไหมครับ เพราะกระทู้เก่าไม่มีรูปแล้ว
2. ถ้าจะไปดึงข้อมูลเป็นลักษณะแบบ =sumif..... จะต้องใช้ format อย่างไรครับ
รบกวนตอบอีกคร้ังนะครับ
Re: อ้างอิงข้อมูลจากชื่อในไฟล์
Posted: Fri Jun 01, 2012 8:49 am
by snasui
เป็นเทคนิคการรวมข้อมูลจากหลายไฟล์มาไว้ในไฟล์เดียว สามารถดูได้ที่นี่ครับ
http://snasui.blogspot.com/2010/06/blog-post.html ส่วนการใช้สูตรข้ามไฟล์ที่ปิดอยู่ด้วยฟังก์ชั่น Sumif, Countif, Offset, Indirect นั้น ไม่สามารถใช้ได้ ควรดึงข้อมูลมาไว้ในไฟล์ใดไฟล์หนึ่งก่อนแล้วค่อยเขียนสูตรดึงข้อมูลตามเงื่อนไขแทนครับ
Re: อ้างอิงข้อมูลจากชื่อในไฟล์
Posted: Fri Jun 01, 2012 10:59 pm
by tong9
snasui wrote: เป็นเทคนิคการรวมข้อมูลจากหลายไฟล์มาไว้ในไฟล์เดียว สามารถดูได้ที่นี่ครับ
http://snasui.blogspot.com/2010/06/blog-post.html ส่วนการใช้สูตรข้ามไฟล์ที่ปิดอยู่ด้วยฟังก์ชั่น Sumif, Countif, Offset, Indirect นั้น ไม่สามารถใช้ได้ ควรดึงข้อมูลมาไว้ในไฟล์ใดไฟล์หนึ่งก่อนแล้วค่อยเขียนสูตรดึงข้อมูลตามเงื่อนไขแทนครับ
ใช้ได้แล้ว ขอบคุณอาจารย์มากครับ