EXCEL TOOLS
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
Excel Add-ins ที่พัฒนาโดยคุณสันติพงศ์ ณสุย (MVP Excel 2010-2020) ด้วยภาษา C# เพื่อแก้ไขปัญหาไฟล์ใหญ่ คำนวณนาน ทำงานช้า จัดการข้อมูลต่าง ๆ ที่ทำงานประจำวันได้อย่างสะดวกรวดเร็ว สนใจคลิกไปดูได้ที่นี่ครับ => Excel Tools
[code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)1, 1, -2, -3, 1, 1, -4, -5, -6, 1, 1
=MAX(FREQUENCY(IF(B2:L2<0,COLUMN(B2:L2)),IF(B2:L2>=0,COLUMN(B2:L2))))
=MAX([color=#FF0000]FREQUENCY({FALSE,FALSE,4,5,FALSE,FALSE,8,9,10,FALSE,FALSE},{2,3,FALSE,FALSE,6,7,FALSE,FALSE,FALSE,11,12})[/color])
=MAX([color=#FF0000]{0;0;2;0;3;0;0}[/color])
การนับความถี่จะดูที่ตัว bins คือส่วนประกอบตัวหลังของ Frequency โดยไม่คำนึงค่า False ครับDhitiBank wrote:งงกับ Frequency จริงๆ ครับ
สมมติข้อมูล B2:L2 คือ
1, 1, -2, -3, 1, 1, -4, -5, -6, 1, 1
ดูด้วยตาก็ได้คำตอบในใจคือ 3
ลองแกะสูตรทีละสูตรก็ได้ว่า
=MAX(FREQUENCY(IF(B2:L2<0,COLUMN(B2:L2)),IF(B2:L2>=0,COLUMN(B2:L2))))
=MAX([color=#FF0000]FREQUENCY({FALSE,FALSE,4,5,FALSE,FALSE,8,9,10,FALSE,FALSE},{2,3,FALSE,FALSE,6,7,FALSE,FALSE,FALSE,11,12})[/color])
แล้วก็ลากคลุม Frequency จากนั้นกด F9 แล้วก็ได้
=MAX([color=#FF0000]{0;0;2;0;3;0;0}[/color])
อยากรู้ว่า เรามาถึงจุดนี้ได้ยังไงเนี่ย... มันหาความถี่ยังไงถึงได้แบบนั้นครับ T_T
พออ่านคำอธิบาย ผมได้ไอเดียอย่างหนึ่ง ลองแบบนี้ครับake9842 wrote:แล้วถ้า จะรวมค่าที่ติดลบติดต่อกันละครับ ต้องแปลงสูตรอย่างไรบ้างครับ
อีกตัวอย่างสูตรสำหรับการรวมค่าที่ติดลบที่ติดต่อกันจำนวนมากที่สุด (โดยไม่สนใจว่ามูลค่ามากที่สุดหรือไม่) เป็นอันดับแรกครับ โดยที่ M4 เป็นสูตรสำหรับนับจำนวนที่ติดลบต่อเนื่องกันมากที่สุดsnasui wrote: หากหมายถึงข้อมูลมีค่าลบหลายช่วงและให้รวมค่าเฉพาะช่วงที่มีค่าลบที่ติดต่อกันมากที่สุดนั้นต้องอาศัย VBA ของเขียนมาเองก่อน ติดตรงไหนค่อยถามกันต่อครับ