
มีหลายองค์ประกอบด้วยกันครับ
ประการแรกคือการกดแป้นรับสูตร ให้ถูกต้อง คือกด ctrl+shift+enter แทนการกด Enter
การใส่เงื่อนไขในสูตรก็เป็นส่วนสำคัญมาก บางครั้งเราต้องใส่ "" บางครั้งไม่ต้องใส่ คำตอบก็อย่างที่อาจารย์ได้บอกไว้ หากเป็นตัวเลข เช่น เลข 1,2,3....ไม่จำเป็นต้องมี "" (ผมเรียกฟันหนู) แต่หากข้อมูลเป็น text ก็จำเป็นต้องมี "" ครับ
อีกกรณีหนึ่ง ที่ผมได้ตอบไปล่าสุด คือการอ้างอิงจากเซลล์ไปเลย อันนี้ผมจะใช้บ่อยเพราะง่ายต่อการเปลี่ยนแปลงเงื่อนไข ไม่จำเป็นต้องเข้าไปแก้ในสูตรให้เกิดข้อผิดพลาด
ยกตัวอย่าง เราต้องการหารายการที่มีชื่อว่า Name_01 เราใช้ชื่อไปอ้างอิงเลย เราก็จะใช้สูตร
=COUNTIF(หน้าหลัก!$C$4:$C$108,"
Name_01")
แต่ถ้าเราอ้างอิงจากเซลล์ เราก็แค่คีย์ชื่อ Name_01 ลงในเซลล์ใดเซลลืหนึ่ง เช่น A1 สูตรที่ได้คือ
=COUNTIF(หน้าหลัก!$C$4:$C$108,
A1)
ซึ่งคำตอบก็ออกมาเท่ากัน แต่ความสะดวกจะต่างกัน เช่นเดียวกับสูตรที่ใช้แปลงค่าออกมา หากเราเลือกวิธีแรก สูตรที่ได้คือ
=IF(ROWS(A$4:A4)>$A$1,"",INDEX(หน้าหลัก!A$4:A$108,SMALL(IF(หน้าหลัก!$C$4:$C$108="
Name_01",ROW(หน้าหลัก!$A$4:$A$108)-ROW(หน้าหลัก!$A$4)+1),ROWS(A$4:A4))))
หากเลือกวิธีที่สอง สูตรที่ได้คือ
=IF(ROWS(A$4:A4)>$A$1,"",INDEX(หน้าหลัก!A$4:A$108,SMALL(IF(หน้าหลัก!$C$4:$C$108=
$A$1,ROW(หน้าหลัก!$A$4:$A$108)-ROW(หน้าหลัก!$A$4)+1),ROWS(A$4:A4))))
ผลที่ออกมาก็ได้เหมือนกัน ต่างกันที่ความสะดวกในการแก้ไขเงื่อนไขเท่านั้น
การทำแบบวิธีที่ 2 นั้น ผู้ใช้ต้องเคยใช้สูตรอาร์เรย์มาค่อนข้างเยอะแล้ว จึงจะเข้าใจและเเก้ไขข้อผิดพลาดที่เกิดขึ้นได้
สำหรับผู้ที่ยังเริ่มศึกษา ควรใช้วิธีการที่ 1 เพื่อที่ได้มุ่งไปที่เงื่อนไขในสูตรเป็นสำคัญ แต่อย่างไรก็ดีผมไม่คอนเฟิร์มได้ทั้งหมดว่าอะไรดีกว่าอะไร แล้วแต่การใช้ของแต่ละคนครับ
ปล. สูตรที่ยกมาเป็นแค่ตัวอย่างให้เห็นภาพครับ กรณียังไม่เข้าใจหรือไม่มั่นใจในคำตอบ อาจารย์จะเข้ามาเสริมให้อีกครับ
