Page 1 of 1

ใช้สูตรในการคำนวณแก้ไขงาน ช้ามากครับ

Posted: Thu May 16, 2019 12:53 am
by yodpao.b
ใช้สูตรในการคำนวณแก้ไขงาน ช้ามากครับ
ข้อมูลมีอย่างน้อย 40000 บรรทัด มากสุด 500000 บรรทัด
ลองใช้ sumif แทน vlookup ก็ยังช้า มีสูตรอื่นแนะนำไหมครับ
เวลาจะแก้ไขอะไรที มันก็คำนวณช้ามากครับ
ตัวอย่างแก้ไขโดยเพิ่มข้อมูล ในคอลัม A ไฟล์จะคำนวนช้า
time.JPG

Re: ใช้สูตรในการคำนวณแก้ไขงาน ช้ามากครับ

Posted: Thu May 16, 2019 12:57 am
by yodpao.b
ไฟลครับ
ไฟล์ขนาด 2 MB ส่งได้ไหมครับ

Re: ใช้สูตรในการคำนวณแก้ไขงาน ช้ามากครับ

Posted: Thu May 16, 2019 1:02 am
by yodpao.b
ผมส่งไฟล์ไม่ได้ครับ
จึงต้องตัดช้อมูลออก
ถ้าอยากลองต้องคัดลอกลงถึง 40000 บรรทัด
ตำถาม มีสูตรไหนที่คำนวณได้ไว

Re: ใช้สูตรในการคำนวณแก้ไขงาน ช้ามากครับ

Posted: Thu May 16, 2019 5:34 am
by snasui
:D ตัวอย่างสูตรครับ

T4 คีย์

=IF(VLOOKUP(Q4,$G$4:$H$100000,1)=Q4,VLOOKUP(Q4,$G$4:$H$100000,2),0)

Enter > Copy ลงด้านล่าง ค่าในคอลัมน์ G จะต้องเรียงจากน้อยไปหามากเสมอสูตรจึงจะทำงานถูกต้องครับ

Re: ใช้สูตรในการคำนวณแก้ไขงาน ช้ามากครับ

Posted: Thu May 16, 2019 1:06 pm
by menem
ผมใช้ Index , Match , Indirect
ลองดูครับว่า เร็วขึ้นกว่าเดิมหรือไม่

Re: ใช้สูตรในการคำนวณแก้ไขงาน ช้ามากครับ

Posted: Thu May 16, 2019 1:31 pm
by yodpao.b
สูตรที่อาจาย์ให้มา
ใช้ได้ครับ คำนวณเร็วกว่ามากมาก

"ค่าในคอลัมน์ G จะต้องเรียงจากน้อยไปหามากเสมอ" สามารถเพิ่มให้มันไม่สนได้ไหมครับ

มีคนใช้สูตรนี้ครับ แต่คำนวณนานมาก
=IF(ISNA(VLOOKUP(Q4,$G$4:$H$100000,2,FALSE)) = TRUE,0, VLOOKUP(Q4,$G$4:$H$100000,2,FALSE))

คำถาม
"ค่าในคอลัมน์ G จะต้องเรียงจากน้อยไปหามากเสมอ" สามารถเพิ่มให้มันไม่สนได้ไหมครับ

Re: ใช้สูตรในการคำนวณแก้ไขงาน ช้ามากครับ

Posted: Thu May 16, 2019 2:22 pm
by yodpao.b
menem wrote: Thu May 16, 2019 1:06 pm ผมใช้ Index , Match , Indirect
ลองดูครับว่า เร็วขึ้นกว่าเดิมหรือไม่
ขอบคุณครับ
กระทัดรัดดีของลองหน่อยครับ
แตไฟล์ที่ได้จากเครื่องวัด คอลัม a:c มันเป็นข้อความครับ เดียวผมข้อลองก่อน

Re: ใช้สูตรในการคำนวณแก้ไขงาน ช้ามากครับ

Posted: Thu May 16, 2019 3:04 pm
by yodpao.b
menem wrote: Thu May 16, 2019 1:06 pm ผมใช้ Index , Match , Indirect
ลองดูครับว่า เร็วขึ้นกว่าเดิมหรือไม่
ลองแล้วครับ
คำนวณนานเหมือนเดิม

ผมลอง copy ลงมา 60000 บันทัด
และลองปฃแก้ไขใน คอลัม C คำนวนช้ามากครับ
Save ก็ช้า
ขอบคุณครับ

Re: ใช้สูตรในการคำนวณแก้ไขงาน ช้ามากครับ

Posted: Thu May 16, 2019 3:12 pm
by snasui
yodpao.b wrote: Thu May 16, 2019 1:31 pm คำถาม
"ค่าในคอลัมน์ G จะต้องเรียงจากน้อยไปหามากเสมอ" สามารถเพิ่มให้มันไม่สนได้ไหมครับ
:D ไม่สามารถทำให้ไม่สนใจได้เพราะเป็นลักษณะการใช้งานแบบหาค่าใกล้เคียง สังเกตว่าได้ละส่วนประกอบสุดท้ายเอาไว้ (หรือกำหนดเป็น True หรือกำหนดเป็น 1) สูตรนี้ทำงานเร็วมากแต่จะต้องเรียงค่าในคอลัมน์แรกของ table_array จากน้อยไปหามากสูตรจึงจะทำงานถูกต้องครับ

Re: ใช้สูตรในการคำนวณแก้ไขงาน ช้ามากครับ

Posted: Thu May 16, 2019 4:21 pm
by yodpao.b
ครับผมใช้หรอกตัวเลข ให้ในคอลัม h ถ้าไม่เจอค่าใดให้ บวกจากของเดิมไปุ 600 วัน
ใช้ได้ครับ
แต่พอลอง ทำไป 500000 บันทัด ช้าเหมือนเดิม
คงต้องใช้ไฟล์ 1 เดือน นี้เป็นฟอร์แมต แล้วส่งค่าไปไฟล์อื่น
ขอบคุณครับ

Re: ใช้สูตรในการคำนวณแก้ไขงาน ช้ามากครับ

Posted: Thu May 16, 2019 4:40 pm
by menem
ลองดูอีกทีครับว่าเร็วขึ้นหรือไม่

Re: ใช้สูตรในการคำนวณแก้ไขงาน ช้ามากครับ

Posted: Thu May 16, 2019 5:01 pm
by menem
ส่วนอันนี้ เป็นอีกแบบครับ
ผมทดสอบที่ 800,000 บรรทัด ก็ไม่ช้า
แต่อาจจะเป็นเพราะข้อมูลดิบมีน้อยจึงทำให้
การคำนวณเร็วกว่าที่ควรจะเป็น

Re: ใช้สูตรในการคำนวณแก้ไขงาน ช้ามากครับ

Posted: Thu May 16, 2019 5:30 pm
by yodpao.b
menem wrote: Thu May 16, 2019 5:01 pm ส่วนอันนี้ เป็นอีกแบบครับ
ผมทดสอบที่ 800,000 บรรทัด ก็ไม่ช้า
แต่อาจจะเป็นเพราะข้อมูลดิบมีน้อยจึงทำให้
การคำนวณเร็วกว่าที่ควรจะเป็น
ของคุณ รองพิมพค่าในคอลัม A เป็น 31/1/2017 แทน บรรทัดสุดท้าย ช้าอยู่ครับ
ขอคุณครับใช้ของอาจารย์เร็วกว่ามากครับ

Re: ใช้สูตรในการคำนวณแก้ไขงาน ช้ามากครับ

Posted: Thu May 16, 2019 5:44 pm
by yodpao.b
ไฟลฒนี้สำเร็จแล้วครับ

Re: ใช้สูตรในการคำนวณแก้ไขงาน ช้ามากครับ

Posted: Fri May 17, 2019 10:55 am
by menem
ถึงจะทำจนสำเร็จไปแล้ว
แต่ก็อยากเสนอวิธีอื่น ๆ ให้ลองครับ ^_^