Page 1 of 1

มีเรื่องให้ช่วยเหลือหน่อยครับ Excel ตั้งชื่อเรื่องไม่ถูกครั

Posted: Fri Mar 04, 2011 11:03 am
by ViperX06
ช่วยชี้แนะด้วย สร้างเงื่อนไขให้ Excel แสดงค่าตามเงื่อนไข เคยถามไปแล้วตาม คำถาม http://www.snasui.com/viewtopic.php?f=3&t=756 แต่ครั้งนี้เจอแล้วงงกว่าเก่าอีก

คือ ต้องการแสดงผลลัพท์ โดยให้ความสำคัญของกลุ่มข้อมูล
1.REA
2.GRA
3.NON
4.CHK
5.NULL
ตามลำดับ ถ้าเจอข้อมูลในกลุ่ม REA ก็แสดง REA ก่อน ไล่มาตามลำดับ

ผมตั้งชื่อคำถามไม่ถูกครับ มีไฟล์ตัวอย่างให้ช่วยดูให้ทีนะครับ ขอบคุณครับ

Re: มีเรื่องให้ช่วยเหลือหน่อยครับ Excel ตั้งชื่อเรื่องไม่ถู

Posted: Fri Mar 04, 2011 12:10 pm
by kmb
ที่เซลล์ K2 ลองสูตรนี้ครับ :D
=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 มาช่วยแก้ปัญหานี้ไว้แล้ว :mrgreen: