Page 1 of 2
การดึงข้อมูลล่าสุดที่เป็นรูปแบบตัวอักษร
Posted: Wed Feb 23, 2011 3:50 pm
by Pimrapat
ขออนุญาตลบข้อความนะคะ
---------------
มีปัญหาใดถึงลบความเห็นทิ้ง
ช่วยชี้แจงด้วยครับ
Re: การดึงข้อมูลล่าสุดที่เป็นรูปแบบตัวอักษร
Posted: Wed Feb 23, 2011 4:02 pm
by snasui

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

Re: การดึงข้อมูลล่าสุดที่เป็นรูปแบบตัวอักษร
Posted: Wed Feb 23, 2011 4:19 pm
by Pimrapat
ขอบคุณนะคะ
Re: การดึงข้อมูลล่าสุดที่เป็นรูปแบบตัวอักษร
Posted: Wed Feb 23, 2011 4:30 pm
by snasui

ดูเหมือนว่าจะใช้ Product เป็นหลักในการดึงข้อมูล ช่วยยกตัวอย่างที่ถูกต้องมาให้หน่อยครับ เช่น
M2:M4 คือค่าใดบ้างครับ
Re: การดึงข้อมูลล่าสุดที่เป็นรูปแบบตัวอักษร
Posted: Wed Feb 23, 2011 4:58 pm
by Pimrapat
Re: การดึงข้อมูลล่าสุดที่เป็นรูปแบบตัวอักษร
Posted: Wed Feb 23, 2011 5:04 pm
by snasui

หากเป็นตัวอย่างคำตอบที่ถูกต้องอยู่แล้ว ผมทำตัวอย่างสูตรมาให้ลองตรวจสอบตามด้านล่างว่าถูกต้องหรือไม่ครับ
1. ที่เซลล์ M2 คีย์
=INDEX($C$2:$C$555,MATCH(1,IF($N2=$D$2:$D$555,IF($O2=$E$2:$E$555,1)),0))
Ctrl+Shift+Enter > Copy ลงด้านล่าง
2. ที่เซลล์ R2 คีย์
=INDEX($H$2:$H$555,MATCH(1,IF($N2=$D$2:$D$555,IF($O2=$E$2:$E$555,1)),0))
Ctrl+Shift+Enter > Copy ลงด้านล่าง
Re: การดึงข้อมูลล่าสุดที่เป็นรูปแบบตัวอักษร
Posted: Wed Feb 23, 2011 5:37 pm
by Pimrapat

:
Re: การดึงข้อมูลล่าสุดที่เป็นรูปแบบตัวอักษร
Posted: Wed Feb 23, 2011 5:41 pm
by snasui

ดึงได้ทุกค่าไม่มียกเว้นครับ แต่ต้องทราบเงื่อนไขในการดึงที่ชัดเจนครับ การดึง Product มานั้นดึงด้วยเงื่อนไขใดบ้างครับ
Re: การดึงข้อมูลล่าสุดที่เป็นรูปแบบตัวอักษร
Posted: Wed Feb 23, 2011 6:17 pm
by Pimrapat
Re: การดึงข้อมูลล่าสุดที่เป็นรูปแบบตัวอักษร
Posted: Wed Feb 23, 2011 7:47 pm
by snasui

แสดงว่าหากเป็นสินค่าใหม่ที่
ไม่ซ้ำกับสินค้าเดิมก็ให้ดึงไปแสดงในชีท Last order ใช่ไหมครับ
หากใช่ที่ N2 คีย์
=INDEX('Issued PO'!$E$3:$E$1000,SMALL(IF(FREQUENCY(IF('Issued PO'!$E$3:$E$1000<>"",MATCH('Issued PO'!$E$3:$E$1000,'Issued PO'!$E$3:$E$1000,0)),ROW('Issued PO'!$E$3:$E$1000)-ROW('Issued PO'!$E$3)+1),ROW('Issued PO'!$E$3:$E$1000)-ROW('Issued PO'!$E$3)+1),ROWS($N$2:N2)))
Ctrl+Shift+Enter > Copy ลงด้านล่าง ซึ่งอาจจะใช้เวลาในการแสดงผล เนื่องจากเป็นสูตร Array และใช้กับช่วงข้อมูลจำนวนมาก
Re: การดึงข้อมูลล่าสุดที่เป็นรูปแบบตัวอักษร
Posted: Thu Feb 24, 2011 10:06 am
by Pimrapat
Re: การดึงข้อมูลล่าสุดที่เป็นรูปแบบตัวอักษร
Posted: Thu Feb 24, 2011 10:27 am
by snasui

เบื้องต้นผมคิดว่าคงไม่เพี้ยนหรอกครับ เนื่องจากสูตรนี้กินทรัพยากรอย่างมาก ใช้เวลาคำนวณนาน แต่ถ้ามั่นใจว่าเพี้ยนจริง ลองส่งไฟล์ที่ใช้สูตรนี้แล้วมาให้ดูหน่อยครับ
Re: การดึงข้อมูลล่าสุดที่เป็นรูปแบบตัวอักษร
Posted: Thu Feb 24, 2011 11:22 am
by Pimrapat
ขอบคุณค่ะ
Re: การดึงข้อมูลล่าสุดที่เป็นรูปแบบตัวอักษร
Posted: Thu Feb 24, 2011 11:42 am
by snasui

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

Re: การดึงข้อมูลล่าสุดที่เป็นรูปแบบตัวอักษร
Posted: Thu Feb 24, 2011 11:56 am
by Pimrapat
Re: การดึงข้อมูลล่าสุดที่เป็นรูปแบบตัวอักษร
Posted: Thu Feb 24, 2011 12:03 pm
by snasui

ในชีท Issued PO คุณได้ทดสอบเรียงค่าวันที่ตามคอลัมน์ไหนครับ

คอลัมน์ O ที่พูดถึงนั้นในชีท Issued PO ไม่มีข้อมูลครับ การจัดเรียงที่ผมพูดถึง ต้องเรียงในชีท Issued PO ครับ
Re: การดึงข้อมูลล่าสุดที่เป็นรูปแบบตัวอักษร
Posted: Thu Feb 24, 2011 12:29 pm
by Pimrapat
Re: การดึงข้อมูลล่าสุดที่เป็นรูปแบบตัวอักษร
Posted: Thu Feb 24, 2011 12:40 pm
by Pimrapat
ถ้าเรียงค่าใหม่ใน Issued PO โดยให้วันที่ล่าสุดขึ้นก่อนเกรงว่าจะไม่สะดวกในการคีย์ข้อมูลครั้งต่อๆ ไป เมื่อมีการสั่งซื้อสินค้าในอนาคตค่ะ

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

Re: การดึงข้อมูลล่าสุดที่เป็นรูปแบบตัวอักษร
Posted: Thu Feb 24, 2011 4:00 pm
by snasui

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

และใน Last order ไม่มีหลักในการเรียงชื่อ Product ค่ะแค่นำชื่อสินค้าทุกรายการที่มีการสั่งซื้อมาโชว์โดยอ้างอิงจากวันที่ล่าสุดของการสั่งซื้อค่ะ แต่จะการใส่สูตรที่คอลัมน์ N นั้น
เช็คแล้วไม่พบสินค้าบางรายการที่มีการสั่งซื้อค่ะ
เนื่องจากว่า Copy สูตรไปยังไม่ครบยังขาดอีกหลายบรรทัด สูตรเดิมที่ให้ไปนั้นทำงานถูกต้องครับ การทำงานของสูตรคือ List ค่าที่ไม่ซ้ำมาแสดง และไม่ได้ขึ้นกับเงื่อนไขอื่นนอกเหนือจากนี้
Re: การดึงข้อมูลล่าสุดที่เป็นรูปแบบตัวอักษร
Posted: Thu Feb 24, 2011 5:58 pm
by kmb
กรณีแบบนี้ใช้ Pivot Table ช่วยขั้นแรกก่อนน่าจะดีกว่าไหมครับ ข้อดีคือแง่ความเร็วของการประมวลผล ข้อด้อยคือต้อง refresh Pivot table ก่อน
แล้วจึงเขียนสูตรในการแสดงผลอีกทีนึง
ผมลองทำตัวอย่างมาใน worksheet "Pivot" ตามไฟล์แนบครับ แต่ค่าในคอลัมน์ K มีบางรายการผิดพลาด คงต้องขอคำชี้แนะครับ
ถ้าใช้ได้คอลัมน์อื่น ๆ ก็คงทำด้วยหลักการเดียวกัน
