สูตรอาร์เรย์ที่ฉันมีตอนนี้ใกล้เคียงกับที่ฉันต้องการมาก แต่ถูกจำกัดด้วยความจริงที่ว่าฉันสามารถมีเงื่อนไขได้เพียงสองเงื่อนไขเท่านั้น (เว้นแต่ฉันต้องการเพิ่มอีกด้วยตนเอง) สิ่งที่ฉันต้องการทำคือสามารถใช้ชื่อที่ได้มาจากคอลัมน์ของตารางเพื่อให้ตรงกับเกณฑ์ คล้ายกับการใช้ OR() กับช่วง
สูตรอาร์เรย์ของฉันมีลักษณะคล้ายกับสิ่งนี้ (โดยใช้ชื่อหรือการอ้างอิงช่วง)
=SUM((JOB_HRS)*(TEXT($E4,"0")=TEXT(EMP_ID,"0"))*(JOB_DATE>=$M4)*(JOB_DATE<=$N4)*((JOB_TYPE=CONFIG!$F$8)+(JOB_TYPE=CONFIG!$F$9)))
ฉันได้รับแผ่นรายงานที่มีข้อมูลประมาณ 5,000 แถว สูตรนี้แยกวิเคราะห์ชีตอย่างแม่นยำและสรุปจำนวนชั่วโมงทำงานทั้งหมดของพนักงาน (ตาม ID ซึ่งบางครั้งจัดเก็บเป็นตัวเลขหรือข้อความตามความรู้สึกของโปรแกรมเอาท์พุตในวันนั้น)
ส่วนสุดท้ายคือสิ่งที่ฉันกำลังมองหาเพื่อปรับปรุง
((JOB_TYPE=CONFIG!$F$8)+(JOB_TYPE=CONFIG!$F$9))
ใช้งานได้ แต่ฉันถูกจำกัดด้วยจำนวนเซลล์เล็กน้อย แถมสูตรยังดูยาวอีกด้วย ฉันต้องการทำให้มันง่ายขึ้นเป็นเช่นนี้ แต่ไม่พบการอ้างอิงที่ดีในการทำงานกับอาร์เรย์ SUM มีความคิดอะไรบ้าง?
(JOB_TYPE=RNG_OF_JOB_TYPES)
แก้ไข: เพิ่มรูปภาพ
MAX(--(JOB_TYPE=RNG_OF_JOB_TYPES))
ควรให้ 0 หากไม่มีข้อใดเป็นจริง และ 1 หากข้อใดเป็นจริง - person MacroMarc   schedule 30.11.2017