Page 1 of 1

การดึงข้อมูลกับการรันเลขตามหน้า

Posted: Tue Mar 19, 2013 10:43 pm
by tossy
รบกวนอาจารย์กับเพื่อนๆทุกคนด้วยค่ะ


อยากทราบว่าถ้าต้องการ ใส่เลขหน้าใน sheet "scb , kb " ไปยังแล้วข้อมูลในหน้านั้นจะรันไปยัง sheet "ใบมาเงิน''

อยากทราบว่าใช้สูตรแบบไหนค่ะ
มีต้วอย่างค่ะ

Re: การดึงข้อมูลกับการรันเลขตามหน้า

Posted: Tue Mar 19, 2013 10:55 pm
by snasui
:D ในไฟล์ bank.xlsx ให้นำข้อมูลของแต่ละชีทมาต่อกันแล้วเพิ่มคอลัมน์ที่บอกว่าข้อมูลนั้น ๆ เป็นของแบงค์ไหนแทนที่จะแยกแบงค์ออกเป็นแต่ละชีทต่างกัน

Re: การดึงข้อมูลกับการรันเลขตามหน้า

Posted: Tue Mar 19, 2013 11:05 pm
by tossy
แล้วจะดึงข้อมูลอย่างไงค่ะ

Re: การดึงข้อมูลกับการรันเลขตามหน้า

Posted: Tue Mar 19, 2013 11:18 pm
by snasui
:shock: แนบไฟล์ที่บอกให้ปรับมาก่อนแล้วค่อยถามว่าดึงอย่างไรครับ

Re: การดึงข้อมูลกับการรันเลขตามหน้า

Posted: Wed Mar 20, 2013 10:21 am
by tossy
ไม่ได้ค่ะ มันต้องแยกแบงค์เป็นไฟล์ เพราะมี แบงค์เยอะกว่านี้ค่ะ
งั้นขอรบกวนเป็นแค่ยอดเงินกับรหัสลูกค้าพอค่ะ ขอบคุณค่ะ

งั้นเดียวแนบไฟล์จริงให้ค่ะ

Re: การดึงข้อมูลกับการรันเลขตามหน้า

Posted: Wed Mar 20, 2013 10:31 am
by snasui
:D ธนาคารในประเทศไทยมีประมาณ 20 ธนาคาร ช่วยอธิบายให้เข้าใจว่าทำไมนำข้อมูลมาต่อกันในชีทเดียวไม่ได้ครับ

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

หากไม่เช่นนั้นแล้วก็เขียน VBA มาช่วย ซึ่งจำเป็นต้องเขียนมาก่อน ติดตรงไหนแล้วค่อยมาถามกัน

Re: การดึงข้อมูลกับการรันเลขตามหน้า

Posted: Wed Mar 20, 2013 11:00 am
by tossy
แก้ไขแล้วค่ะ

Re: การดึงข้อมูลกับการรันเลขตามหน้า

Posted: Wed Mar 20, 2013 11:39 am
by snasui
:D ตัวอย่างสูตร ที่ไฟล์ มาเงิน (ฟอร์มใหม่) ชีท NEW เซลล์ B3 คีย์สูตรตามด้านล่าง

=IFERROR(INDEX('[มาเงิน 16-7-12 แก้ไขแล้ว.xlsx] Bank'!$E$6:$E$149,SMALL(IF('[มาเงิน 16-7-12 แก้ไขแล้ว.xlsx] Bank'!$H$6:$H$149=$I$1,ROW('[มาเงิน 16-7-12 แก้ไขแล้ว.xlsx] Bank'!$B$6:$B$149)-ROW('[มาเงิน 16-7-12 แก้ไขแล้ว.xlsx] Bank'!$B$6)+1),ROWS(G$3:G3))),"")

Ctrl+Shift+Enter > Copy ลงด้านล่างและปรับใช้กับคอลัมน์อื่น ๆ

จากสูตรนี้เป็นการดึงคอลัมน์ E มาแสดง หากเป็นการดึงจากคอลัมน์อื่นให้เปลี่ยนช่วงเซลล์เป็นช่วงเซลล์เป้าหมายได้เลย

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

Re: การดึงข้อมูลกับการรันเลขตามหน้า

Posted: Wed Mar 20, 2013 3:42 pm
by tossy
ทำได้แล้วค่ะ
ต้องขอบคุณ ท่าน อาจารย์ มากๆ เลย นะค่ะ ทำได้ทุกช่องเลย
เดียวแนบ ไฟล์ ให้ดูค่ะ

แต่ในการทำงานทางบริษัท ให้แบ่งแยกเป็นแบงค์ เพราะต้องอัพเดทยอดตลอดเวลา
ถ้าไม่เป็นการรบกวน ท่าน อาจารย์ จนเกิืน ไป ช่วยคิดสูตร แบบแยกชีท ให้ด้วยค่ะ
เดียวจะลองมาปรับใช้อีกทีค่ะ
แล้วหนูก็จะลองทำดูด้วยค่ะ

Re: การดึงข้อมูลกับการรันเลขตามหน้า

Posted: Wed Mar 20, 2013 4:11 pm
by snasui
:D ต้องขออภัยที่ไม่เขี่ยนสูตรลักษณะนั้นให้ ผมเห็นว่าเกินความจำเป็น

ควรเปลี่ยนไปเป็นใช้สูตรรวมข้อมูลจากทุกชีทมาไว้ที่ชีทเดียวกัน แล้วค่อยใช้สูตรตามที่ผมแนะนำไปอีกทีครับ

สำหรับการรวมข้อมูลจากทุกชีทมาไว้ชีทเดียวกัน ดูได้ที่นี่ครับ :arrow: http://snasui.blogspot.com/2009/12/sheet-sheet.html

Re: การดึงข้อมูลกับการรันเลขตามหน้า

Posted: Wed Mar 20, 2013 4:18 pm
by tossy
ขอบคุณ ค่ะ แล้วหนูจะทำตามที่อาจารย์แนะนำ นะค่ะ

แล้วหนูจะเอาผลงานมาให้อาจารย์ดูค่ะ

Re: การดึงข้อมูลกับการรันเลขตามหน้า

Posted: Fri Mar 22, 2013 4:29 pm
by tossy
อาจารย์ ทำแล้ว มันรันช่องก่อนที่ หนูจะรัน จาก B4 แต่มันขึ้น ช่อง B2 ค่ะ

Re: การดึงข้อมูลกับการรันเลขตามหน้า

Posted: Fri Mar 22, 2013 4:49 pm
by joo
tossy wrote:อาจารย์ ทำแล้ว มันรันช่องก่อนที่ หนูจะรัน จาก B4 แต่มันขึ้น ช่อง B2 ค่ะ
:D ช่วยอธิืบายให้ละเอียดกว่านี้หน่อยได้ไหมครับ เผื่อเพื่อนๆสมาชิกที่ติดตามจะได้เข้าใจได้ง่าย ว่ามันคือค่าจากซีทไหนเซลล์ไหนด้วยเหตุผลเงื่อนไขใด

Re: การดึงข้อมูลกับการรันเลขตามหน้า

Posted: Fri Mar 22, 2013 4:53 pm
by snasui
:D เปลี่ยนสูตรที่ B4 เป็น

=IF($I4<>"",INDIRECT("'"&$I4&"'!"&SUBSTITUTE(ADDRESS(1,COLUMN()),1,"")&COUNTIF($I$4:$I4,$I4)+3),"")

Enter > Copy ไปทางขวาและลงด้านล่าง > จัด Format ให้สอดคล้องกับค่าในเซลล์

Re: การดึงข้อมูลกับการรันเลขตามหน้า

Posted: Mon Mar 25, 2013 1:13 pm
by tossy
ได้แล้วค่ะ อาจารย์

แต่ทำไมชีท Thana chart มันขึ้น ว่า #REF!

แล้ว อยากให้ข้อมูลที่ขึ่น เป็น สัญลักษณ์ " - " แทน 0 ค่ะ

Re: การดึงข้อมูลกับการรันเลขตามหน้า

Posted: Mon Mar 25, 2013 1:25 pm
by tossy
joo wrote:
tossy wrote:อาจารย์ ทำแล้ว มันรันช่องก่อนที่ หนูจะรัน จาก B4 แต่มันขึ้น ช่อง B2 ค่ะ
:D ช่วยอธิืบายให้ละเอียดกว่านี้หน่อยได้ไหมครับ เผื่อเพื่อนๆสมาชิกที่ติดตามจะได้เข้าใจได้ง่าย ว่ามันคือค่าจากซีทไหนเซลล์ไหนด้วยเหตุผลเงื่อนไขใด


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

ประมาณนี้เข้าใจ กันหรือเปล่าค่ะ

Re: การดึงข้อมูลกับการรันเลขตามหน้า

Posted: Mon Mar 25, 2013 1:48 pm
by snasui
:D ตรวจสอบชื่อชีทที่เขียนกับชื่อชีทจริง ๆ ว่าเหมือนกันหรือไม่ เช่น มีวรรคด้านหลังกับไม่มีวรรคด้านหลัง ชื่อชีทจะต้องเหมือนกันทุกอักขระครับ

Re: การดึงข้อมูลกับการรันเลขตามหน้า

Posted: Mon Mar 25, 2013 1:52 pm
by tossy
snasui wrote::D ตรวจสอบชื่อชีทที่เขียนกับชื่อชีทจริง ๆ ว่าเหมือนกันหรือไม่ เช่น มีวรรคด้านหลังกับไม่มีวรรคด้านหลัง ชื่อชีทจะต้องเหมือนกันทุกอักขระครับ


ค่ะ อาจารย์ แล้ว ที่รัน ข้อมูล จะไม่ให้ขึ้น 0 ได้ไหมค่ะ

Re: การดึงข้อมูลกับการรันเลขตามหน้า

Posted: Mon Mar 25, 2013 2:53 pm
by joo
:D ถ้าไม่ต้องการให้แสดงค่า "0" ก็สามารถใช้รูปแบบการจัด format มาช่วยได้ครับ