Page 1 of 1
ขอวิธีสร้างสูตรที่ดึงข้อมูลจาก Sheet A บางคอลัมป์ มาใส่ข้อมูลลง Sheet B ในคอลัมป์ที่เราต้องการ
Posted: Tue Mar 12, 2019 4:58 pm
by ตรีชฎาพร
รบกวนขอวิธีสร้างสูตรที่ดึงข้อมูลจาก Sheet A บางคอลัมป์ มาใส่ข้อมูลลง Sheet B ในคอลัมป์ที่เราต้องการ โดยให้เรียงลำดับตามเอกสารจาก Sheet A ตามเดิมด้วยค่ะ (คือเราต้องบันทึกข้อมูลสต๊อกที่ export เป็นไฟล์ excel ออกมาจากโปรแกรมสำเร็จรูป แล้วน้ำข้อมูลบางคอลัมป์ที่ต้องใช้งานมากรอกลงในแบบฟอร์มตามที่ถูกกำหนดอีกค่ะ แต่ข้อมูลมันเยอะมาก อยากได้วิธีที่สามารถช่วยทำให้เร็วขึ้นค่ะ ขอบคุณค่ะ
Re: ขอวิธีสร้างสูตรที่ดึงข้อมูลจาก Sheet A บางคอลัมป์ มาใส่ข้อมูลลง Sheet B ในคอลัมป์ที่เราต้องการ
Posted: Tue Mar 12, 2019 5:16 pm
by puriwutpokin
ทำตัวอย่างข้อมูล บางส่วน และ ผลลัพธ์ที่ต้องการแนบมาเป็นไฟล์ด้วยครับ เพื่อจะสะดวกต่อการตอบครับ
Re: ขอวิธีสร้างสูตรที่ดึงข้อมูลจาก Sheet A บางคอลัมป์ มาใส่ข้อมูลลง Sheet B ในคอลัมป์ที่เราต้องการ
Posted: Wed Mar 13, 2019 9:59 am
by ตรีชฎาพร
sheet A.xls
sheet B.xlsx
แนบไฟล์มาเรียบร้อยแล้วนะคะ
คืออยาก ให้ คอลัมป์ A ใน Sheet A ไปแสดงในคอลัมป์ A Sheet B
คอลัมป์ B ใน Sheet A ไปแสดงในคอลัมป์ C Sheet B
คอลัมป์ C ใน Sheet A ไปแสดงในคอลัมป์ B Sheet B
คอลัมป์ G ใน Sheet A ไปแสดงในคอลัมป์ G Sheet B
คอลัมป์ I ใน Sheet A ไปแสดงในคอลัมป์ D Sheet B
ขอบคุณค่ะ
Re: ขอวิธีสร้างสูตรที่ดึงข้อมูลจาก Sheet A บางคอลัมป์ มาใส่ข้อมูลลง Sheet B ในคอลัมป์ที่เราต้องการ
Posted: Wed Mar 13, 2019 10:30 pm
by snasui

ตัวอย่างสูตรครับ
เปิดทั้งสองไฟล์ขึ้นมาพร้อมกัน จากนั้นที่ไฟล์ Sheet B.xlsx คีย์สูตรตามด้านล่าง
- ที่ A12 คีย์
=IFERROR(INDEX('[sheet A.xls]61'!$A$2:$A$134,SMALL(IF($J$5='[sheet A.xls]61'!$E$2,ROW('[sheet A.xls]61'!$A$2:$A$134)-ROW('[sheet A.xls]61'!$A$2)+1),ROWS(A$12:A12))),"")
Ctrl+Shift+Enter > Copy ลงด้านล่าง
- ที่ C12 คีย์
=IFERROR(INDEX('[sheet A.xls]61'!$B$2:$B$134,SMALL(IF($J$5='[sheet A.xls]61'!$E$2,ROW('[sheet A.xls]61'!$A$2:$A$134)-ROW('[sheet A.xls]61'!$A$2)+1),ROWS(C$12:C12))),"")
Ctrl+Shift+Enter > Copy ลงด้านล่าง
- ที่ D12 คีย์
=IFERROR(INDEX('[sheet A.xls]61'!$I$2:$I$134,SMALL(IF($J$5='[sheet A.xls]61'!$E$2,ROW('[sheet A.xls]61'!$A$2:$A$134)-ROW('[sheet A.xls]61'!$A$2)+1),ROWS(D$12:D12))),"")
Ctrl+Shift+Enter > Copy ลงด้านล่าง
- ที่ G12 คีย์
=IFERROR(INDEX('[sheet A.xls]61'!$G$2:$G$134,SMALL(IF($J$5='[sheet A.xls]61'!$E$2,ROW('[sheet A.xls]61'!$A$2:$A$134)-ROW('[sheet A.xls]61'!$A$2)+1),ROWS(G$12:G12))),"")
Ctrl+Shift+Enter > Copy ลงด้านล่าง
- Copy สูตรทั้งหมดไปใช้กับชีตอื่น ๆ
!
| Note: Ctrl+Shift+Enter
เป็นการสร้างสูตร Array โดยสามารถเลือกดำเนินการตามข้อ 1 หรือ 2 ด้านล่าง
- กรณีคีย์สูตรเอง เมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น
Ctrl และ Shift พร้อมกันค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array
- กรณี Copy สูตรไปวางให้กดแป้น F2 เพื่อทำการ Edit Cell นั้นก่อน
จากนั้นกดแป้น Ctrl และ Shift พร้อมกันค้างไว้แล้วตามด้วย Enter เพื่อสร้างเป็นสูตร Array
- หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(...)}
ปีกกานี้ไม่สามารถคีย์เข้าไปเอง จะต้องมาด้วยการกดแป้น Ctrl+Shift+Enter เท่านั้น
ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง
- การแก้ไขเปลี่ยนแปลงสูตร Array จะต้องกดแป้นให้รับสูตรด้วย Ctrl+Shift+Enter ทุกครั้ง
|