Page 1 of 1
การดึงข้อมูลจากชีทนึง มาแสดงอีกชีทซึ่งเป็นแบบฟอร์ม
Posted: Fri Jun 07, 2013 4:26 pm
by sana
ก่อนอื่นต้องบอกก่อนครับว่าสูตรเอกเซลผมได้แค่พื้นฐานเล็กๆ (จริงๆ) เช่น คำนวน บวก ลบ คูณ หาญ
แต่พอดีมีความจำเป็นต้องใ้ช้สูตรสำหรับงานที่ทำอยู่ (จะอธิบายยังไงดี) คือยกตัวอย่างเช่น ผมมีข้อมูลอยู่ในเอกเซลชีทที่ ๑ เป็นข้อมูล หมายเลขประจำตัว ชื่อ สกุล อายุ คุณวุฒิ ภูมิลำเนา ฯลฯ ซึ่งมีหลายคน และผมต้องพิมพ์ข้อมูลเป็นแบบฟอร์ม เช่นประวัติของบุคคล จึงได้ทำฟอร์มขึ้นที่ชีท ๒ อยากถามว่าผมจะดึงข้อมูลจากชีท 1 มาลง ในฟอร์มในชีท 2 โดยกรอกแค่รหัสเลขประจำตัว ที่เดียวแล้วข้อมูลเข้ามาในฟอร์มออโต้เลย ทำไงครับ รบกวนด้วยครับต้องการใช้จริงๆ
(ต้องบอกว่าที่ทำงานไม่ได้จำเป็นต้องใช้โปรแกรมฐานข้อมูลอื่นๆ อะไรมากมาย แค่เอกเซลก็พอ)
Re: การดึงข้อมูลจากชีทนึง มาแสดงอีกชีทซึ่งเป็นแบบฟอร์ม
Posted: Fri Jun 07, 2013 4:44 pm
by joo
ลองแนบไฟล์พร้อมระบุเงื่อนไขและคำตอบที่ต้องการมาด้วยครับเพื่อจะได้เข้าถึงข้อมูลได้ไว
Re: การดึงข้อมูลจากชีทนึง มาแสดงอีกชีทซึ่งเป็นแบบฟอร์ม
Posted: Fri Jun 07, 2013 4:59 pm
by sana
joo wrote: ลองแนบไฟล์พร้อมระบุเงื่อนไขและคำตอบที่ต้องการมาด้วยครับเพื่อจะได้เข้าถึงข้อมูลได้ไว
ไฟตัวอย่างที่แนบครับ (คือต้องการกรอกแค่เลขประจำตัวในช่องเลขประจำตัว แล้วข้อมูลอื่นก็ลงมาเองเลยอะครับ)
รวบกวนทุกท่านด้วยครับ
ปล.เพิ่งสมัครใหม่ ผิดพลาดประการใดชี้แนะด้วยครับ
ลืมไปอีกอย่างครับ ข้อมุลในชีท 1 จะมีการเพิ่มขึ้นเรื่อยๆ ครับ (หมายถึงว่าจะมีข้อมุลบุคคลเพิ่มมากขึ้นไม่ได้ฟิกไว้ว่ามี 3 คน) จึงไม่อยากจำกัดเขตข้อมุลแค่
สามบรรทัด ครับ (หมายถึงว่า่ไม่จำกัดเขตข้อมูลในสูตร ยกตัวอย่างตามไฟล์ตัวอย่า่ง เขตข้อมูล ชื่อ แค่ B2:B4 เพราะอนาคตจะเพิ่มเป็น B5, B6 ... เนื่องจากมีการเพิ่มข้อมูลบุคลลไปเรื่อยๆ)
Re: การดึงข้อมูลจากชีทนึง มาแสดงอีกชีทซึ่งเป็นแบบฟอร์ม
Posted: Fri Jun 07, 2013 5:47 pm
by nattasiray
ชีตเก็บข้อมูลให้สร้างตารางบันทึกข้อมูลดังตัวอย่างแฟ้มแนบ และต้องแยก ตำบล อำเภอ จังหวัด รหัสไปรษณีย์ออกจากกัน
เรา
ไม่นิยมเก็บอายุเพราะอายุเปลี่ยนตลอดเวลา แต่จะเก็บด้วย
วันเดือนปีเกิดแทน แล้วใช้สูตร DATEDIF คำนวณหา
เวลาการบันทึกข้อมูลก็ต้องใช้ใช้ VBA เข้าร่วมในการรับส่งค่าระหว่างฟอร์มกับฐานข้อมูลครับ
เรื่องการใช้ VBA ร่วมกับงานฐานข้อมูลใน MS Excel เพื่อบันทึกข้อมูลต่อท้ายด้านล่างตารางต้องศึกษาเพิ่มเติมต่อที่
http://www.snasui.com/viewtopic.php?f=3&t=945
ไม่ว่าจะใช้ MS Access, MS Excel เก็บประวัติพนักงานก็ต้องออกแบบตารางจัดเก็บข้อมูลให้ถูกต้องครับ ออกแบบไม่ถูกต้อง จะสร้างปัญหามากมายตามมาภายหลัง
ก่อนจะตัดสินใจใช้ MS Access หรือ MS Excel คุณได้วิเคราะห์ว่าคุณต้องการออกรายงานอะไรบ้างครับ ตัวรายงานนั่นแหละ เป็นตัวบอกข้อมูลที่ต้องการใช้และวิธีการจัดเก็บข้อมูล
สำหรับผมคงหันไปใช้ MS Access เพราะต้องเก็บประวัติการศึกษา ที่อยู่ด้วย ซึ่งต้องสร้างตารางเก็บข้อมูลดังกล่าวแยกต่างหาก
ลองหาหนังสือ "
จัดการฐานข้อมูลด้วยไมโครซอฟต์เอ็กเซล ๒๐๑๐" มาศึกษาด้วยครับ เพราะมีหัวข้อ
ออกการออกแบบฐานข้อมูลและการออกแบบตารางบันทึกข้อมูลด้วยครับ
http://www.se-ed.com/product/จัดการฐานข ... 6160811564
มือใหม่หัดใช้ MS Excel เพื่อเก็บข้อมูลในลักษณะฐานข้อมูล อย่าเพิ่งท้อนะครับ ต้องฝึกและแก้ไขปรับกันนาน
Re: การดึงข้อมูลจากชีทนึง มาแสดงอีกชีทซึ่งเป็นแบบฟอร์ม
Posted: Sat Jun 08, 2013 12:21 pm
by sana
ขอบคุณ คุณ nattasiray เดียวหาเวลาไปอ่านดูครับ ส่วนท่านอื่นมีความเห็นเป็นประการใดรบกวนด้วยครับ
Re: การดึงข้อมูลจากชีทนึง มาแสดงอีกชีทซึ่งเป็นแบบฟอร์ม
Posted: Sat Jun 08, 2013 1:11 pm
by snasui
ที่ Sheet2 ลองตามนี้ครับ
- เซลล์ A3:A6 จะต้องคีย์ให้เหมือนกันทุกอักขระกับข้อมูลใน Sheet1 เซลล์ B1:E1
- เซลล์ B3 คีย์สูตร
=INDEX(sheet1!$B$2:$E$4,MATCH($B$2,sheet1!$A$2:$A$4,0),MATCH($A3,sheet1!$B$1:$E$1,0))
Enter > Copy ลงด้านล่าง
Re: การดึงข้อมูลจากชีทนึง มาแสดงอีกชีทซึ่งเป็นแบบฟอร์ม
Posted: Sat Jun 08, 2013 8:31 pm
by sana
snasui wrote: ที่ Sheet2 ลองตามนี้ครับ
- เซลล์ A3:A6 จะต้องคีย์ให้เหมือนกันทุกอักขระกับข้อมูลใน Sheet1 เซลล์ B1:E1
- เซลล์ B3 คีย์สูตร
=INDEX(sheet1!$B$2:$E$4,MATCH($B$2,sheet1!$A$2:$A$4,0),MATCH($A3,sheet1!$B$1:$E$1,0))
Enter > Copy ลงด้านล่าง
อุตส่าห์เพิ่งไปเจอสูตร VLOOKUP กำลังได้เลย แต่กลับมาดูบอท สูตรของอาจารย์ snasui (ไม่รู้จะเรียกอะไรดีเรียกอาจารย์แล้วกันนะครับ เพิ่งสมัครใหม่ยังไร้เดียงสา
) ขั้นเทพเลยครับ ขอเอาไปใช้งานก่อนครับ เดียวผมศึกษารายละเอียดอีกที ขอบคุณมากๆ เลยครับ เย้ๆ รอดตายแล้ว
Re: การดึงข้อมูลจากชีทนึง มาแสดงอีกชีทซึ่งเป็นแบบฟอร์ม
Posted: Sun Jun 09, 2013 12:41 pm
by nattasiray
คุณ Sana กรุณาดูข้อความส่วนตัว (PM) ที่ผมส่งไปด้วยครับ