Page 1 of 1
อยากทราบว่า สามารถหาผลลัพธ์จากข้อมูลได้หรือไม่
Posted: Fri Sep 01, 2017 5:31 pm
by eyepop99
ต้องการสอบถามว่า
excel สามารถทำข้อมูล ได้อย่างที่ผมต้องการได้หรือไม่
เนื่องจากข้อมูลที่ได้รับมา ลงบันทึกไม่มีความเรียบร้อยพอ
จากไฟล์ แน๊บ ผมเขียนรายละเอียด ไว้ในทุกๆ ชีทแล้วคับ
ว่า ต้องการผลลัพธ์ อย่างไร
ข้อมูลการเก็บ บันทึก รวมถึงข้อมูลที่นำเข้ามาเก็บบันทึก ครับ
พอจะมีความรู้ พื้นฐานของฐานข้อมูลและ excel ไม่มากนักครับ
Re: อยากทราบว่า สามารถหาผลลัพธ์จากข้อมูลได้หรือไม่
Posted: Fri Sep 01, 2017 10:47 pm
by snasui

ตัวอย่างสูตรครับ
- ที่ชีต Summary data เซลล์ D2 คีย์สูตร
=SUMIFS(INDEX('Raw data'!$D$2:$I$24,0,MIN(IF('Raw data'!$D$2:$I$24=$B2,COLUMN('Raw data'!$D$2:$I$2)-COLUMN('Raw data'!$D$2)+1))-1),'Raw data'!$A$2:$A$24,$A2,'Raw data'!$B$2:$B$24,$C2)
Ctrl+Shift+Enter > Copy ลงด้านล่าง กรุณาอ่าน Note ด้านล่างอย่างละเอียดไม่เช่นนั้นจะไม่ได้คำตอบครับ
- ที่ชีต data for analy เซลล์ E2 คีย์สูตรร
=SUMIFS('Summary data'!$D$2:$D$26,'Summary data'!$A$2:$A$26,$A2,'Summary data'!$C$2:$C$26,$D2,'Summary data'!$B$2:$B$26,$C2)-SUMIFS('Summary data'!$D$2:$D$26,'Summary data'!$A$2:$A$26,$A2,'Summary data'!$C$2:$C$26,$D2,'Summary data'!$B$2:$B$26,$B2)
Enter > 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 ทุกครั้ง
|
Re: อยากทราบว่า สามารถหาผลลัพธ์จากข้อมูลได้หรือไม่
Posted: Sat Sep 02, 2017 2:24 pm
by eyepop99
ขอบคุนครับ ได้รับผลลัพธ์ตามที่ต้องการแล้วคับ ช่วยได้มากเลยคับ
ผมลืมไป ส่วนนึงครับ
คือ ชีท Summary data
- ผมต้องการให้ดึงข้อมูลมาจากชีท Raw data มาในคอลัม รหัสรถ,วันที่จด,และ ยี่ห้อ คับ
คือถ้ามีการจดครั้งต่อๆ ไปข้อมูลจะต่อลงไปเรื่อยๆ
ส่วนชีท data for analy
- ผมต้องการให้ดึง ข้อมูลชีท Summary data มาในคอลัม รหัสรถ,วันที่จดครั้งก่อน วันที่จดก่อนหน้า และ ยี่ห้อเช่นกันครับ
โดยที่วันที่ของแต่ละรหัสรถ จะเปลี่ยนไปตามวันที่ ที่ถูกเปลี่ยนไปในแต่ละครั้งที่มีการอัพเดทข้อมูล Raw data ครับ
เพื่อที่ จะได้นำมาใช้หาผลลัพธ์ ในคอลัม "ผลลัพธ์ของเลขmile" และจำเป็นข้อมูลล่าสุดอยู่เสมอ
ขอโทษ สอบถามมาไม่ครบในครั้งแรกด้วยครับ
Re: อยากทราบว่า สามารถหาผลลัพธ์จากข้อมูลได้หรือไม่
Posted: Sat Sep 02, 2017 2:51 pm
by snasui

กรุณาอ่านกฎการใช้บอร์ดข้อ 1 ด้านบน

และปฏิบัติให้ถูกต้องตามกฎด้วยครับ ในโพสต์แรกผมเข้าใจว่าบังเอิญเผลอพิพม์ผิดพลาดไปบ้าง แต่จากโพสต์ล่าสุดมีคำว่า
"คับ" แทน "ครับ" เกินที่จะเป็นการบังเอิญ กรุณาแก้ไขให้ถูกต้องและระมัดระวังการใช้ภาษาด้วยครับ
การคีย์ข้อความไปทางด้านขวาแล้วให้นำมาเรียงต่อกันในลักษณะที่กล่าวมา สูตรจะมีความซับซ้อนสูงไม่เหมาะที่จะใช้งานกับข้อมูลจำนวนมาก หากต้องการทำงานลักษณะนั้นควรใช้ VBA และจำเป็นต้องเขียนมาเองก่อนตามกฎการใช้บอร์ดข้อ 5 ด้านบน ติดตรงไหนค่อยถามกันต่อครับ
Re: อยากทราบว่า สามารถหาผลลัพธ์จากข้อมูลได้หรือไม่
Posted: Sat Sep 02, 2017 9:58 pm
by eyepop99
ขอบคุณครับ
เนื่องจากหาที่แก้ไขข้อความด้านบนไม่เจอ ขออภัยในส่วนที่ผิดพลาดไปครับ
และส่วนของของ VBA ที่จะนำข้อมูลมาเรียงต่อกันไปด้านล่างเด่วผมจะลองทำดูก่อนครับ
**
สร้าง VBA ให้อยู่ในปุ่ม อัพเดทข้อมูล
แนวคิดการทำข้อมูล ในส่วนของ Summary data
นำข้อมูลมาต่อด้านล่างของตาราง
- โดยมีเงื่อนไขว่าจะต้อง ไม่มี รหัสรถ และ วันที่ซ้ำกัน ถ้ามีแล้ว ก็ให้ข้ามไป
(โดยนำ รหัสรถ,ยี่ห้อ และ ข้อมูลช่องสุดท้ายของรหัสรถนั้นๆ (ซึ่งเป็นวันที่ล่าสุด) )
- ถ้ายังไม่มีให้นำ รหัสรถ,ยี่ห้อ และวันที่ ต่อท้ายสุดของตาราง ซึ่งส่วนนี้จะออกมาเป็น Unique dataเนื่องจาก เงื่อนไขด้านบน
- และ หาผลลัพธ์โดยใช้ ฟอร์มูลล่า ที่อาจารได้เขียนไว้ให้จาก คอมเม้นตอบด้านบน
ผมลองศึกษา VBA แล้วลองทำดูครับ ติดปัญหาอะไรเด่วจะรบกวนใหม่ครับ
ขอบคุณมากครับ
Re: อยากทราบว่า สามารถหาผลลัพธ์จากข้อมูลได้หรือไม่
Posted: Sat Sep 02, 2017 10:22 pm
by snasui

คำว่า "เดี๋ยว" ยังสะกดผิดอยู่นะครับ

Re: อยากทราบว่า สามารถหาผลลัพธ์จากข้อมูลได้หรือไม่
Posted: Sun Sep 03, 2017 10:35 pm
by eyepop99
ผมต้องการวนลูป จนกระทั่งเจอเซลล์ว่างไม่แน่ใจว่าต้องใช้ code อย่างไรครับ
Code: Select all
Sheets("Raw data").Select
Range("AAA2").Select ‘ ในแต่ละรอบที่วนลูป จะบวก ที่ละ 1
Selection.End(xlToLeft).Select ' วนจนcellที่ select บรรทัดนี้ เป็นค่าว่าง
Application.CutCopyMode = False
Selection.Copy
Sheets("current data").Select
Range("C2").Select ‘ ในแต่ละรอบที่วนลูป จะบวก ที่ละ 1
ActiveSheet.Paste
หลังจากที่รันcode นี้จบ ผมจะได้ได้ข้อมูลเหมือนชีต current data
หลังจากนั้นผมต้องการ นำข้อมูลไปเปรียบเทียบกับชีต Summary data
โดยมีเงื่อนไขไล่เช็คที่ละ row ที่ชีต current data
เริ่มจาก
ชีต current data ที่ cell A2 เทียบกับ A2 ที่ชีต Summary data
ชีต current data ที่ cell B2 เทียบกับ C2 ที่ชีต Summary data
ชีต current data ที่ cell B3 เทียบกับ B2 ที่ชีต Summary data
*จะเทียบจนกระทั่งเจอเซลล์ว่างของชีต Summary data แล้วจะ +1 ที่ cell current data
ถ้ามีตรงกันทั้ง 3 ช่องให้ +1 ที่เซลล์ของ ชีต current data และไม่ทำอะไร
ถ้ามีไม่ตรงกัน ให้นำข้อมูลไปต่อบรรทัดล่างสุดที่ชีตSummary data
ตอนนี้ผมใช้งาน array และการวนลูปโดยมีเงื่อนไข รวมถึง syntax ยังไม่เป็นครับ พยายามทำความเข้าใจอยู่ครับ
ปล.ผมควรตั้งกระทู้ใหม่หรือต่อจากกระทู้นี้เลยครับ
Re: อยากทราบว่า สามารถหาผลลัพธ์จากข้อมูลได้หรือไม่
Posted: Mon Sep 04, 2017 10:19 am
by eyepop99
ตอนนี้ผมสามารถทำข้อมูล ชีต current data ด้วยmacroได้แล้วครับ
ถ้าผมนำข้อมูลมาใส่หน้า summary data ได้แล้วจะกลับมาอัพเดทให้ทราบครับ