สูตร Array IF เพื่อใช้หายอดรวมแยกประเภท ถือเป็นสูตรที่สำคัญเป็นอย่างยิ่งและเป็นสูตรที่ใช้บ่อยที่สุดสูตรหนึ่งทีเดียว จนใน Excel 2007 เป็นต้นมาบริษัทไมโครซอฟท์ได้เพิ่มสูตร SumIFs, CountIFs, และ AverageIFs เพื่อตอบสนองต่อความต้องการของผู้ใช้ เพราะใน Excel รุ่นก่อนนั้นมีเพียงสูตร SumIF และ CountIF ซึ่งไม่สามารถรับเงื่อนไขในการคำนวณเกินกว่า 1 เงื่อนไข
แต่ถ้าคุณนำแฟ้มที่ใช้สูตร SumIFs, CountIFs, และ AverageIFs ไปเปิดด้วย Excel 2003 หรือรุ่นเก่ากว่า จะพบว่าสูตรใหม่เหล่านี้ไม่ทำงานเพราะ Excel รุ่นที่จะใช้สูตรใหม่ได้ก็ต้องเป็น Excel รุ่นใหม่เช่นกัน
บทความนี้จะแนะนำแนวทางการสร้างสูตร Array IF ว่ามีที่ไปที่มาอย่างไร เพื่อช่วยให้สามารถสร้างสูตรหายอดรวมแยกประเภทได้โดยไม่จำเป็นต้องอาศัยสูตร SumIFs, CountIFs, และ AverageIFs แต่อย่างใด แล้วเมื่อคุณทราบหลักการทำงานของการใช้ Array IF หรือ Array แบบเงื่อนไข ยังจะช่วยให้สามารถนำไปพัฒนาสร้างสูตรหาคำตอบประเภทอื่นๆได้ไม่ยาก
สูตร Array IF คืออะไร
สูตร Array IF คือ สูตร IF ที่ทำหน้าที่ตรวจสอบค่าหลายค่าว่าตรงตามเงื่อนไขที่กำหนดหรือไม่ โดยจะได้ผลลัพธ์จากการตรวจสอบเป็น True หรือ False หลายค่าตามลำดับตำแหน่งของค่าที่ใช้ ซึ่งต่างจากสูตร IF ธรรมดาที่มีการตรวจสอบค่าเพียงค่าเดียวและเกิดผลลัพธ์เป็น True หรือ False อย่างใดอย่างหนึ่งเพียงค่าเดียว
โดยลำพังของสูตร Array IF จะไม่สามารถหายอดรวมแยกประเภทได้ แต่เมื่อนำผลลัพธ์ True หรือ False ที่ได้นั้นไปเทียบกับ Array ของตัวเลขคำตอบที่ต้องการ จะทำให้เราสามารถเลือกเก็บตัวเลขเฉพาะตำแหน่งค่าที่ตรงกับตำแหน่งของ True แล้วจึงนำผลที่ได้ไปหายอดร่วมกับสูตรอื่นๆก็จะกลายเป็นสูตร Array เพื่อหาค่าตามสูตรนั้นๆ เช่น เมื่อนำผลที่ได้หลังจากการเทียบตำแหน่ง True/False ไปซ้อนในสูตร Sum ก็จะกลายเป็นสูตร Array Sum IF ซึ่งหายอดรวมแยกประเภท หรือถ้าซ้อนในสูตร Average ก็จะกลายเป็นสูตร Array Average IF ซึ่งหาค่าเฉลี่ยแยกประเภท
โครงสร้างของสูตร Array IF ประกอบด้วย 2 ส่วนใหญ่ๆ ซึ่งโดยทั่วไปทั้ง 2 ส่วนต้องมีขนาดความสูงความกว้างของ Array เท่ากัน กล่าวคือ
- ส่วนของ Array ที่ทำหน้าที่คืนค่า True หรือ False
- ส่วนของ Array ที่เป็นตัวเลขหรือค่าคำตอบเรื่องที่ต้องการ
(ในเบื้องต้นขอให้จำไว้ว่าขนาด Array ทั้งสองส่วนนี้ต้องมีขนาดเท่ากัน ซึ่งที่จริงแล้วขอเพียงว่ามีขนาดความสูงหรือขนาดความกว้างด้านใดด้านหนึ่งเท่ากันก็ใช้ได้แล้ว)