ของ excel vba เคลื่อนไหว เฉลี่ย ฟังก์ชั่น


Moving Average ตัวอย่างนี้สอนวิธีการคำนวณค่าเฉลี่ยเคลื่อนที่ของชุดข้อมูลเวลาใน Excel ค่าเฉลี่ยเคลื่อนที่จะใช้เพื่อทำให้จุดสูงสุดและที่ราบสูงเป็นไปอย่างราบรื่นเพื่อให้ทราบถึงแนวโน้มต่างๆได้ง่ายขึ้นอันดับแรกลองดูที่ชุดข้อมูลเวลาของเรา คลิกการวิเคราะห์ข้อมูลคลิกที่นี่เพื่อโหลด Add-In Toolkit การวิเคราะห์ 3 เลือก Moving Average และคลิก OK.4 คลิกในกล่อง Input Range และเลือกช่วง B2 M2 5. คลิกที่ช่อง Interval และพิมพ์ 6.6 คลิกที่ Output Range และเลือกเซลล์ B3.8 วาดกราฟของค่าเหล่านี้การอธิบายเนื่องจากเราตั้งค่าช่วงเป็น 6 ค่าเฉลี่ยเคลื่อนที่คือค่าเฉลี่ยของ 5 จุดข้อมูลก่อนหน้าและ จุดข้อมูลปัจจุบันเป็นผลให้ยอดและหุบเขาถูกทำให้ราบเรียบกราฟแสดงแนวโน้มการเพิ่มขึ้น Excel ไม่สามารถคำนวณค่าเฉลี่ยเคลื่อนที่สำหรับจุดข้อมูล 5 จุดแรกเนื่องจากไม่มีจุดข้อมูลก่อนหน้านี้มากพอ 9 ทำซ้ำตามขั้นตอนที่ 2 ถึง 8 สำหรับช่วง 2 และช่วงเวลา 4. บทสรุป The la rger ช่วงเวลาที่มากขึ้น peaks และหุบเขาจะเรียบออกช่วงที่เล็กกว่าใกล้ค่าเฉลี่ยเคลื่อนที่เป็นจุดข้อมูลจริงหน้าที่ Custom Custom ต่อไปเราจะดูที่โปรแกรมใน Excel VBA ซึ่งจะสร้าง User Defined Function ที่คำนวณค่าเฉลี่ยของช่วงที่เลือกแบบสุ่มยกเว้นค่าอย่างน้อยหนึ่งค่าที่เป็นค่าผิดปกติและไม่ควรมีค่าเฉลี่ยฟังก์ชันการทำงานที่กำหนดไว้ของผู้ใช้จะต้องอยู่ในโมดูล 1 เปิดตัวแก้ไข Visual Basic แล้วคลิกแทรก 2 เพิ่มข้อมูลต่อไปนี้ code line. Function CUSTOMAVERAGE rng as As Range ช่วงล่างเป็น Integer upper เป็น Integer ชื่อของ Function ของเราคือ CUSTOMAVERAGE ส่วนระหว่างวงเล็บหมายถึงเราให้ Excel VBA ช่วงและสองตัวแปร Integer เป็น input เราตั้งชื่อช่วงของเรา rng ตัวแปร Integer หนึ่ง เราเรียก lower และหนึ่ง Integer variable ที่เราเรียกว่า upper แต่คุณสามารถใช้ names.3 ต่อไปเราจะประกาศ object Range และสองตัวแปรของ Integer ชนิดเราเรียก object Range Cell หนึ่ง Integer variable ที่เราเรียกว่า total และตัวแปร Integer หนึ่งตัวที่เราเรียก count. Dim cell เป็น Range รวมเป็น Integer count As Integer.4 เราต้องการตรวจสอบแต่ละเซลล์ในช่วงที่เลือกแบบสุ่มช่วงนี้สามารถมีขนาดใดก็ได้ใน Excel VBA คุณสามารถใช้ For Each Next ลูปเพิ่มบรรทัดต่อไปนี้สำหรับแต่ละเซลล์ใน rng. Note rng และเซลล์ได้รับการสุ่มเลือกที่นี่คุณสามารถใช้ชื่อใด ๆ โปรดอย่าลืมดูชื่อเหล่านี้ในส่วนที่เหลือของรหัสของคุณ 5 ต่อไปเราจะตรวจสอบแต่ละค่า ในช่วงนี้ถ้ามันตกอยู่ระหว่างสองค่าที่ต่ำกว่าและด้านบนถ้าเป็นจริงเราเพิ่มขึ้นรวมโดยค่าของเซลล์และเราเพิ่มขึ้นนับโดย 1 เพิ่มบรรทัดต่อไปนี้รหัสไปยังห่วงถ้าด้านล่างและบนแล้วนับรวมรวมทั้งหมด 1 End If.6 เมื่อต้องการส่งกลับค่าของฟังก์ชันนี้ค่าเฉลี่ยที่ต้องการให้เพิ่มบรรทัดรหัสต่อไปนี้นอกลูปนับรวมทั้งหมดนับ 7 อย่าลืมเพิ่มฟังก์ชันเพิ่มบรรทัด 8 ขณะนี้คุณสามารถใช้ฟังก์ชันนี้เช่นเดียวกับ ฟังก์ชัน Excel อื่น ๆ เพื่อคำนวณค่าเฉลี่ยของตัวเลขที่อยู่ระหว่างสองค่า เป็นเช็คคุณสามารถลบค่าทั้งหมดที่ต่ำกว่า 10 และสูงกว่า 30 และใช้ฟังก์ชันมาตรฐานเฉลี่ยใน Excel เพื่อดูว่า Excel คำนวณค่าเฉลี่ยเช่นเดียวกับฟังก์ชันเฉลี่ยที่กำหนดเองของเราหรือไม่ฟังก์ชันที่กำหนดเองของคุณเองทำงานหมายเหตุฟังก์ชันนี้คือ ใช้ได้เฉพาะในสมุดงานนี้ฉันต้องการคำนวณค่าเฉลี่ยเคลื่อนที่ของล่าสุดกล่าวว่า 20 ตัวเลขของคอลัมน์ปัญหาคือบางส่วนของเซลล์ของคอลัมน์อาจว่างเปล่าพวกเขาควรจะละเลยตัวอย่างเช่นค่าเฉลี่ยเคลื่อนที่ของ สามครั้งจะ 155 167 201 3 ฉันพยายามที่จะใช้นี้โดยใช้เฉลี่ยชดเชยดัชนี แต่ฉันก็ไม่ทราบว่าฉัน ma เล็กน้อยนิดหน่อยคุ้นเคยกับมาโครเพื่อแก้ปัญหาดังกล่าวจะทำงานได้ดี MovingAverage A13 ขอบคุณสำหรับเคล็ดลับใด หรือ solutions. asked 12 มีนาคมที่ 15 36. ป้อนนี้ด้วยการควบคุมการเปลี่ยนป้อนเพื่อให้สูตรอาร์เรย์นี้จะหาสามค่าล่าสุดถ้าคุณต้องการมากหรือน้อยเปลี่ยนสองอินสแตนซ์ของ 3 ในสูตรเพื่อสิ่งที่คุณต้องการ ส่วนนี้จะส่งกลับจำนวนแถวสูงสุดที่ 4 f ทุกเซลล์ที่มีค่าหรือ 5 ในตัวอย่างของคุณเนื่องจากแถวที่ 6, 8 และ 9 เป็นแถวที่ 1 ถึงสูงสุด 3 ที่มีค่าส่วนนี้จะส่งคืน 9 TRUE หรือ FALSEs ตามจำนวนแถวที่มีขนาดใหญ่กว่า 4 ที่ใหญ่ที่สุดคูณค่าใน A1 A9 โดย 9 TRUEs หรือ FALSEs TRUEs ถูกแปลงเป็น 1 และ FALSEs เป็นศูนย์ซึ่งจะทำให้ฟังก์ชัน SUM เช่นนี้เนื่องจากค่าทั้งหมดที่กล่าวข้างต้น 155 don t เป็นไปตามเกณฑ์จำนวนแถวคูณ โดยศูนย์ฉันได้เขียนสคริปต์สั้น ๆ ใน VBA Hopefull มันไม่สิ่งที่คุณต้องการนี่คุณมี 1 ฉันได้กำหนดวงเงิน 360 เซลล์นั่นหมายความว่าสคริปต์จะไม่มองหามากกว่า 360 เซลล์ถ้าคุณต้องการเปลี่ยนแล้วเปลี่ยน ค่าเริ่มต้นของตัวนับ 2 สคริปต์ส่งกลับค่าเฉลี่ยที่ไม่ได้กลมเปลี่ยนแถวสุดท้ายเป็น MovingAverage Round CDbl tmp i, 2.3 การใช้งานเป็นแบบที่คุณต้องการเพียงแค่พิมพ์ MovingAverage a1 3 ลงในเซลล์ความคิดเห็นใด ๆ ที่ได้รับการต้อนรับ

Comments