Page 1 of 1

การสร้างฟอร์มอัติโนมัติ

Posted: Fri Aug 26, 2016 4:38 pm
by Egg
เรียน ท่านผู้รู้
ผมต้องการสร้างฟอร์มอัตโนมัติ โดยการใช้สูตรดึงข้อมูลจากSheet "Data"ให้มาปรากฎในSheet "FORM"
ทั้งนี้เพื่อลดเวลาทำงาน พร้อมนี้ได้ทำฟอร์มตัวอย่าง รบกวนผู้รู้ช่วยชี้แนะด้วยครับ
ขอบคุณมากครับ

Re: การสร้างฟอร์มอัติโนมัติ

Posted: Fri Aug 26, 2016 7:14 pm
by snasui
:D เป็นไปได้หรือไม่ว่าวันที่เดียวกัน บริษัทเดียวกันแต่ผู้อนุมัติต่างคนกันครับ :?:

Re: การสร้างฟอร์มอัติโนมัติ

Posted: Fri Aug 26, 2016 9:14 pm
by Egg
อ.snasui ครับ ผู้อนุมัติ จะเป็นคนเดียวกันครับ

Re: การสร้างฟอร์มอัติโนมัติ

Posted: Fri Aug 26, 2016 9:35 pm
by snasui
:D ตัวอย่างการใช้สูตรที่ F20

=LOOKUP(2,1/((Data!$B$3:$B$8=$B$1)*(Data!$D$3:$D$8=$G$4)*(Data!$E$3:$E$8=$H$4)*(Data!$F$4:$F$8=$I$4)),Data!$L$3:$L$8)

Enter

ปรับปรุงไปใช้กับเซลล์อื่น ๆ โดยเปลี่ยนเฉพาะที่ผมระบายสีเอาไว้ ต้องการให้นำข้อมูลใดมาแสดงก็เปลี่ยนให้เป็นช่วงข้อมูลนั้น ทำตรงนี้ให้ได้ก่อนแล้วแนบไฟล์มาอีกทีเพื่อเขียนสูตรแสดงรายการขออนุมัติจ่ายเงินครับ

Re: การสร้างฟอร์มอัติโนมัติ

Posted: Sat Aug 27, 2016 5:45 pm
by Egg
เรียนอาจารย์ครับ
ผมทำตามที่อาจารย์แนะนำแล้ว ตั้งแต่เซล f20 ลงไปด้านล่างฟอร์ม ผมได้ก๊อปปี้สูตรและเปลี่ยนช่วงข้อมูลตามที่อาจารย์แนะนำ คำตอบออกมาถูกต้อง แต่พอใช้กับเซล อื่นๆ เช่น G4 พบว่าคำตอบออกมาเป็น "0" อาจารย์ช่วยชี้แนะต่อหน่อยครับ ไม่ทราบผิดขั้นตอนตรงไหน พร้อมนี้ได้แนบไฟล์มาด้วยแล้ว
ขอบคุณครับ

Re: การสร้างฟอร์มอัติโนมัติ

Posted: Sat Aug 27, 2016 6:02 pm
by snasui
:D เซลล์ G4:I4 และ B1 ไม่ใช่เซลล์ที่ต้องใส่สูตร เป็นค่าที่คีย์เข้าไปเองเพื่อใช้เป็นเงื่อนไขในการดึงข้อมูล

ในเซลล์ Q4, Q5 ก็ได้เขียนอธิบายไว้เองเช่นนั้น ให้แก้กลับไปเป็นค่าที่ต้องคีย์ครับ

Re: การสร้างฟอร์มอัติโนมัติ

Posted: Mon Aug 29, 2016 2:40 pm
by Egg
ผมแก้กลับไปเป็นค่าที่ต้องคีย์ แล้วครับ
อาจารย์ช่วยแนะนำต่อหน่อยนะครับ ไปไม่เป็นจริงๆ ครับ เพื่อจะได้ข้อมูลตามที่ต้องการลงในฟอร์มให้หมด

ขอบคุณมากครับ

Re: การสร้างฟอร์มอัติโนมัติ

Posted: Mon Aug 29, 2016 9:18 pm
by snasui
:D ใส่สูตรมาไม่ถูกต้อง ให้ทบทวนสูตรที่ผมเขียนไป แก้สูตรแล้วแนบไฟล์มาใหม่ครับ

Re: การสร้างฟอร์มอัติโนมัติ

Posted: Tue Aug 30, 2016 1:38 pm
by Egg
อาจารย์ครับ ผมพยามทำตามที่แนะนำแล้ว แต่มันขึ้น #N/A ขอความช่วยเหลือด้วยครับ
ขอบคุณครับ

Re: การสร้างฟอร์มอัติโนมัติ

Posted: Tue Aug 30, 2016 7:23 pm
by snasui
:D สาเหตุเพราะคอลัมน์ D ในชีต Data เป็น Number สังเกตว่าตัวเลขชิดขวาอัตโนมัติ ในขณะที่ G4 ในชีต Form คือ Text สังเกตว่าตัวเลขชิดซ้ายอัตโนมัติ ต้องแก้ไขฟากใดฟากหนึ่งให้เหมือนกับอีกฟาก

ยกตัวอย่างแก้ไข G4 ให้เป็น Number สูตรที่ F20 จะกลายเป็นด้านล่างครับ

=LOOKUP(2,1/((Data!$B$3:$B$8=$B$1)*(Data!$D$3:$D$8=$G$4+0)*(Data!$E$3:$E$8=$H$4)*(Data!$F$4:$F$8=$I$4)),Data!$L$3:$L$8)

Re: การสร้างฟอร์มอัติโนมัติ

Posted: Wed Aug 31, 2016 8:10 am
by Egg
ขอบคุณอาจารย์มากครับ พร้อมนี้ผมได้แนบไฟล์มา ผมขอความเมตตาอาจารย์หรือท่านผู้รู้ช่วยแนะนำต่อด้วยนะครับ
ขอบคุณมากๆ ครับ

Re: การสร้างฟอร์มอัติโนมัติ

Posted: Wed Aug 31, 2016 6:38 pm
by snasui
:D ตัวอย่างสูตรครับ

เซลล์ C8 คีย์

=IFERROR(INDEX(Data!$I$3:$I$8,SMALL(IF(Data!$B$3:$B$8=$B$1,IF(Data!$D$3:$D$8=$G$4+0,IF(Data!$E$3:$E$8=$H$4,IF(Data!$F$3:$F$8=$I$4,ROW(Data!$B$3:$B$8)-ROW(Data!$B$3)+1)))),ROWS(C$8:C8))),"")

Ctrl+Shift+Enter > Copy ลงไปด้านล่างจนถึง C13 ปรับใช้กับคอลัมน์ D และ M โดยเปลี่ยนเฉพาะตำแหน่งที่ผมระบายสีเอาไว้

อ่าน Note: ด้านล่างอย่างละเอียดสำหรับการกดแป้นให้รับสูตรด้านบน

!
Note: Ctrl+Shift+Enter หมายถึง
  1. กรณีคีย์สูตรเอง เมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น Ctrl+Shift ค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array
  2. กรณี Copy สูตรไปวางให้กดแป้น F2 เพื่อทำการ Edit Cell นั้นก่อน จากนั้นกดแป้น Ctrl+Shift ค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array
  3. หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(...)} ปีกกานี้คีย์เข้าไปเองไม่ได้ ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง
  4. การแก้ไขเปลี่ยนแปลงสูตร Array จะต้องกดแป้นให้รับสูตรด้วย Ctrl+Shift+Enter ทุกครั้ง

Re: การสร้างฟอร์มอัติโนมัติ

Posted: Thu Sep 01, 2016 8:17 am
by Egg
ขอบคุณอาจารย์มากครับ
ผมนำมาปรับใช้ทำให้ง่าย และเร็วขึ้นเยอะครับ