ที่เซลล์ K2 ลองสูตรนี้ครับ
=IF(OR(ISNUMBER(LOOKUP(2,1/(A2:I2="Reactive"))),ISNUMBER(LOOKUP(2,1/(A2:I2="Positive")))),"REA",IF(ISNUMBER(LOOKUP(2,1/(A2:I2="Grayzone"))),"GRA",IF(OR(ISNUMBER(LOOKUP(2,1/(SUBSTITUTE(A2:I2," ","")="NonReactive"))),ISNUMBER(LOOKUP(2,1/(A2:I2="Negative")))),"NON",IF(COUNTA(A2:I2)=0,"NULL","CHK"))))
เนื่องจากเป็นสูตร Array ต้องกด Ctrl+Shift+Enter แล้วจะมีเครื่องหมายปีกกา { } คลุมสูตร
ผมคิดว่าจำเป็นต้องมีการจัดการเรื่อง format ของข้อมูลก่อน
เช่น ในกรณีที่ต้องการให้ขึ้น NULL ผมใช้สูตร COUNTA() แต่เนื่องจากข้อมูลในเซลล์ว่างไม่จริง ผมคิดว่าเนื่องมาจากการ copy ค่าจาก Database แล้วมา paste ลงใน Excel
วิธีการคือ ต้องเลือกเซลล์ที่ว่างไม่จริงนั้น ๆ แล้วกด Delete ก่อนนะครับ หรือใช้วิธีคลุุมตารางทั้งหมดแล้ว กด Ctrl+H ซึ่งคือ Find and Replace
Find what : >> ปล่อยว่างไว้ ไม่ต้องใส่ค่าอะไร
Replace with : >> ใส่ 0
>> กดปุ่ม Replace All
หลังจากนั้นทำกระบวนการข้างบนอีกครั้งหนึ่ง แต่เปลี่ยนค่า
Find what : >> ใส่ 0
Replace with : >> ปล่อยว่างไว้ ไม่ต้องใส่ค่าอะไร
>> กดปุ่ม Replace All
ก็จะได้ผลลัพธ์ที่ถูกต้อง
หรือกรณีของ NonReactive ซึ่งมีทั้ง "NonReactive" และ "Non Reactive" ซึ่งใช้ฟังก์ชั่น SUBSTITUTE มาช่วยแก้ปัญหานี้ไว้แล้ว
