คราวนี้ผมจะเหลาเรื่องการใช้ function : Countif และ Frequency เนื่องจากได้แรงบันดาลใจอย่างแรงจากน้องคนหนึ่ง เค้าต้องทำการสรุปผลประเมินร้านอาหารที่ต้องมีการนับคะแนนที่พนักงานผู้ ประเมิน ได้ให้คะแนนในแต่ละหัวข้อซึ่งต้องทำทุกปี (หรือทุก 6 เดือนก็จำไม่ได้) โดยใช้สูตรที่เกี่ยวกับ Frequency เวลาที่ต้องทำทีไร ก็จะกลับมาถามผมเรื่องวิธีการเขียน/ใช้ ทุกที ซึ่งผมเองก็จำไม่ได้ทุกทีเหมือนกันต้องเสียเวลามานั่งหาที่มาที่ไปทุกครั้ง ร่ำไป เลยเอาเป็นว่าทำเป็น knowledge package เลยแล้วกัน คราวหน้าคราวหลังจะได้ไม่ต้องหาจากที่อื่นให้เสียเวลา

               การใช้ Countif และ Frequency สองคำสั่งนี้มีความคล้ายคลึงกันแต่ใช้งานแตกต่างกันตามความจำเป็นครับเอาเรื่อง Countif ก่อนแล้วกัน

          ผมยกตัวอย่างเป็นการประเมินร้านอาหาร ใน row ที่ 5 เป็นหัวข้อการประเมิน ส่วน column D เป็นลำดับพนักงานที่ประเมิน จะเห็นได้ว่าคะแนสูงสุด คือ 4 = ดีมาก และ ต่ำสุด = 1 คือปรับปรุง คะแนนที่ให้ก็แตกต่างกันไปตามรสนิยม และก็มีไม่ให้คะแนนใดๆ ด้วย(มองเห็นกันไหมครับ)

01

          ลองมานับจำนวนข้อมูลกันก่อนดีกว่าว่ามีข้อมูลอยู่ทั้งหมดกี่ช่องโดยไม่รวม ช่องว่าง (นับเองตาลาย มีสูตรในการนับนะครับ แต่ไม่บอก) ได้เท่ากับ 284 ช่อง ที่นี้ก็อยากรู้ว่า ในแต่ละหมวดที่ประเมินผู้ประเมินได้ให้คะแนน 1, 2, 3 และ 4 มาก-น้อยเพียงใดก็มีวิธีทำได้ดังนี้

การใช้ Countif

          เป็นคำสั่งที่ใช้นับว่าในกลุ่มเซลที่เราสนใจ มีค่าในเซลที่เป็นไปตามเงื่อนไขที่ต้องการอยู่กี่เซลโดยมี syntax ดังนี้

                    COUNTIF(range,criteria)

                    Range = กลุ่มเซลที่เราสนใจ

                    Criteria = เงื่อนไขที่ต้องการนับ

          แล้วผมก็ใช้ mouse คลิ๊กที่เซล E35 แล้วพิมพ์ =COUNTIF(E6:E31,D35) เพื่อดูว่าในช่อง “รสชาด” มีคนให้คะแนน “1” กี่คน (ดูรูปประกอบ – ขออภัย จากตัวอย่างเขียนผิดเป็น “รสชาติ”) ในช่อง D35-D38 เป็นตัวเลข 1-4(ช่องสีฟ้า) เป็น Criteria ที่ผมต้องการทราบผมนะครับ

02

          จากนั้นก็ copy สูตรนี้ไปใส่ในเซล E36 ถึง E38 ก่อนจะ copy ต้องทำ E6:E31 ให้เป็น absolute address ก่อนครับ (ใส่เครื่องหมาย $ ให้เป็นดังนี้ $E$6:$E$31 โดยการกด F4 ลองเอาเองครับ) ก็จะได้ดังรูป

03

          ที่นี้ พออยากรู้ว่า คะแนนของหมวดอื่นเป็นอย่างไร ก็ใช้วิธีเดียวกันนี้ในการหาค่านะครับ ไม่มีตัวอย่าง ไม่มีอธิบาย ไม่มีตัวแสดงแทนแล้วนะ วิธีการใช้ Countif นั้น ง่ายดายมากเลยเหมือนที่ได้อธิบายมาแล้วแต่ก็มีข้อเสีย (อันนี้ไม่ได้รู้เองครับ แต่รู้มาจาก google.com ขอยกความดีให้) อยู่ที่ว่า ถ้ามีปริมาณข้อมูลมากๆๆๆๆๆๆๆ จะทำให้การคำนวณของ excel ช้าลงมาก วิธีแก้ไข้ก็คือการใช้สูตร Frequency แทนนั้นเอง

 

การใช้ Frequency

          เป็นคำสั่งที่ใช้คำนวณหาการแจกแจงความถี่ทางสถิติ โดยมี syntax ดังนี้

                    FREQUENCY(data_array,bin_array)

                    data_array = ช่วงหรือกลุ่มของข้อมูลที่เราต้องการนับความถี่

                    bin_array = เป็น array ของช่วงชั้นความถี่ที่ต้องการนับ

          ยกตัวอย่างอันเดียวกับที่เพิ่งผ่านมาแล้วกันครับ ความต้องการเหมือนกันเลย เพียงแต่เปลี่ยนมาใช้สูตร Frequency แทนเท่านั้นเอง เริ่มด้วย ใช้ mouse คลิ๊กที่ E35 แล้วพิมพ์สูตร =FREQUENCY(E6:E31,D35:D38) อย่าลืมนะครับว่า D35-D38 ในเรื่อง Countif เป็น Criteria แต่ในตอนนี้เป็น bin_array แล้ว ก็จะได้ดังภาพ

04

          ถึง ตอนนี้แหละ ถ้าใครไม่อ่านต่อ รีบลองของกันก่อน ก็คง “งง” เล็กๆ แล้วค่อยมาอ่านต่อใช่ไหมครับ เพราะมัน copy สูตรเหมือนอันแรกไม่ได้ ไม่อธิบายนะครับ บอกวิธีเลยแล้วกัน ทำได้โดยการลาก mouse คลุมเซล E35 – E38

05

               กด F2 จากนั้นกด Ctrl+Shift+Enter เป็นอันเรียบร้อย สังเกตุว่าเลื่อน mouse ไปในเซล E35-E38 ก็จะมีสูตรเหมือนกันหมดคือ {=FREQUENCY(E6:E31,D35:D38)} (ถ้ามีเครื่องหมายวงเล็บปีกกาคลุมสูตรอีกที หมายถึงสูตรนี้เป็นการคำนวณแบบ array) และเราไม่สามารถลบค่าในเซลใดเซลหนึ่งในช่วง E35:E38 นี้ได้ แต่สามารถลบทั้งช่วงได้

06

          บางคนยังข้องใจครับ ว่าทำไม ในเมื่อ Frequency มันดีกว่า ใช้ได้กับปริมาณข้อมูลที่เยอะกว่า เร็วกว่า ทำไมในโลกนี้ต้องมี Countif ด้วย ข้อมูลจาก google.com อีกแล้ว บอกว่า Frequency นั้นใช้ได้กับข้อมูลที่เป็นตัวเลขเท่านั้น ใช้กับตัวอักษรไม่ได้ แต่ Countif สามารถใช้กับอักษรได้ ส่วนเรื่องการนับจำนวนข้อมูล(อันแรกๆ ของ mail นี้) ไม่ได้เกี่ยวอะไรกับ Countif & Frequency ที่ได้อธิบายมาเลยครับ แต่ต้องการให้เริ่มคิดสนุกๆ เท่านั้นเอง

อ้างอิง

MS Excel 2007 แล้วกด F1
Google.com : excel frequency กด Enter
Google.com : excel countif กด Enter