Page 1 of 1
ปรับแก้ไขลดความซ้ำซ้อนของสูตรให้โปรแกรมไวขึ้น
Posted: Tue Sep 10, 2019 2:03 pm
by g.piyanat
รบกวนช่วยดูไฟล์ที่แนบมาให้หน่อยครับว่ามีสูตรตรงไหนปรับแก้ให้ลดความซ้ำซ้อนหรือแก้ไขให้โปรแกรมไวขึ้นไหมครับ เพราะข้อมูลมีปริมานมากและจะต้องมีเพิ่มขึ้นอีก
***หมายเหตุ ผมมีความรู้น้อยครับสูตรทั้งหมดได้มาจากการดัดแปลงและทำความเข้าใจจากในบอร์ดนี้เกือบทั้งหมด ขอบพระคุณครับ
*** ไฟล์แนบมีขนาดใหญ่ เลยลบข้อมูลบางส่วนออกไปแล้วและขอแนบเป็นไฟล์win rar ขออภัยในความไม่สะดวกด้วยครับ
Re: ปรับแก้ไขลดความซ้ำซ้อนของสูตรให้โปรแกรมไวขึ้น
Posted: Tue Sep 10, 2019 6:03 pm
by parakorn
อันดับแรก ไล่ลบสี และ เส้นประ ที่ใส่จนถึงบรรทัดสุดท้ายออกให้หมดครับ โดยใช้วิธี คลุมทั้งแถวคลิ๊กขวาแล้ว Delete ทิ้งสองครั้ง ทำให้ครบทุกชีท Save ไฟล์แล้วปิดเปิดใหม่ดู แล้วลองดูว่าดีขึ้นหรือไม่ครับ
Re: ปรับแก้ไขลดความซ้ำซ้อนของสูตรให้โปรแกรมไวขึ้น
Posted: Tue Sep 10, 2019 7:18 pm
by g.piyanat
parakorn wrote: Tue Sep 10, 2019 6:03 pm
อันดับแรก ไล่ลบสี และ เส้นประ ที่ใส่จนถึงบรรทัดสุดท้ายออกให้หมดครับ โดยใช้วิธี คลุมทั้งแถวคลิ๊กขวาแล้ว Delete ทิ้งสองครั้ง ทำให้ครบทุกชีท Save ไฟล์แล้วปิดเปิดใหม่ดู แล้วลองดูว่าดีขึ้นหรือไม่ครับ
ขอบคุณครับลองทำตามแล้วครับ ขนาดกับความเร็วเพิ่มนิดหน่อย แต่ตอนใช่งาน Sheetระบบ ให้ไปเก็บข้อมูลไว้ที่ Sheet2.โอน มันช้ามากผมคิดว่าอาจเป็นเพราะ คำสั่งที่อยู่ในหน้า Sheet Stock ช่องN2
พอจะมีวิธีแก้ไขไหมครับ {=IFERROR(INDEX('2.โอน'!$N$3:$N$25000,SMALL(IF('2.โอน'!$A$3:$A$25000=$A4805,ROW('2.โอน'!$A$3:$A$25000)-ROW('2.โอน'!$A$3)+1),COLUMNS($N4805:N4805))),"0")}
Re: ปรับแก้ไขลดความซ้ำซ้อนของสูตรให้โปรแกรมไวขึ้น
Posted: Tue Sep 10, 2019 8:03 pm
by puriwutpokin
ลองเปลี่ยนแบบไม่ใช่ Array ดูครับ
=IFERROR(INDEX('2.โอน'!$N$3:$N$25000,AGGREGATE(15,6,(ROW('2.โอน'!$A$3:$A$25000)-ROW('2.โอน'!$A$3)+1)/('2.โอน'!$A$3:$A$25000=$A4805),COLUMNS($N4805:N4805))),)
Re: ปรับแก้ไขลดความซ้ำซ้อนของสูตรให้โปรแกรมไวขึ้น
Posted: Tue Sep 10, 2019 11:11 pm
by menem
ผมโหลดไฟล์ .rar มาได้ แต่เปิดไม่ได้ครับ >_<
Re: ปรับแก้ไขลดความซ้ำซ้อนของสูตรให้โปรแกรมไวขึ้น
Posted: Thu Sep 12, 2019 10:10 am
by g.piyanat
puriwutpokin wrote: Tue Sep 10, 2019 8:03 pm
ลองเปลี่ยนแบบไม่ใช่ Array ดูครับ
=IFERROR(INDEX('2.โอน'!$N$3:$N$25000,AGGREGATE(15,6,(ROW('2.โอน'!$A$3:$A$25000)-ROW('2.โอน'!$A$3)+1)/('2.โอน'!$A$3:$A$25000=$A4805),COLUMNS($N4805:N4805))),)
ขอบคุณครับ เร็วขึ้นระดับนึงเลยครับ แต่พอไปใส่ข้อมูลให้ครบยังช้าอยู่เหมือนกันครับเดี๋ยวลองหาวิธีอื่นใช้คู่กับคำสั่งที่ได้มาดูครับ ขอบคุณมากเลยครับ
