ekkaluk_suk wrote:Ohh ไวจริงๆ post ปุ๊บ ตอบปั๊บ ยิ่งกว่าประกันซะอีก มาเร็ว เคลมเร็ว
รบกวนขอคำอธิบายอีกนิดครับ

เข้ามาแ้ล้วเจอคำถามพอดีครับ
snasui wrote:
ลองตามนี้ครับ
1. คลุม AK7:EU18
2. เข้าเมนู Format > Conditional Formatting แล้วกำหนดเงื่อนไขตามภาพ โดยเงื่อนไขแรกคือ
=AK7=LOOKUP(2,1/(AK$7:AK$18>0),AK$7:AK$18)
ส่วนเงื่อนไขที่สองคือเงื่อนไขเดิม
Note: ปรับสีพื้นสี Font ให้ตรงตามต้องการ
จากสูตรด้านบนเป็นการหาค่าสุดท้ายที่ตรงตราเงื่อนไข ถ้าแปลตรง ๆ ก็คือหาค่าที่น้อยกว่าหรือเท่ากับ 2 จากช่วง 1/(AK$7:AK$18>0) แล้วนำค่าที่ตรงกันใน AK$7:AK$18 มาแสดง ซึ่งคำตอบคือค่าสุดท้ายที่ไม่ใช่ Div/0!
จากช่วง 1/(AK$7:AK$18>0) จะได้ผลลัพธ์เป็น 1 หรือ Div/0! แล้วแต่ว่าช่วง AK$7:AK$18>0 เป็นจริงหรือไม่ ถ้า AK$7:AK$18>0 เป็นจริงก็จะแสดงค่า True ไม่เป็นจริงก็แสดงค่า False เมื่อนำ 1/True ก็จะได้ 1 เมื่อนำ 1 มาหาร False นั่นคือหารด้วย 0 ก็จะเป็น Div/0!
ถ้าเราแกะสูตรด้วยการคลุม AK$7:AK$18>0 แล้วกดแป้น F9 จะได้เป็น
=LOOKUP(2,
1/({TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}),{102000;60.0000000000728;0;0;0;0;0;0;0;0;0;0})
หากคลุมช่วง 1/({TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}) แล้วกดแป้น F9 จะได้เป็น
=LOOKUP(2,{1;1;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!},{102000;60.0000000000728;0;0;0;0;0;0;0;0;0;0})
การหาค่าที่น้อยกว่าหรือเท่าักับ 2 จากสูตรด้านบนจึงได้เป็นเลข 1 ตัวที่ 2 เพราะไม่มีเลขใดนอกเหนือจากนั้นแล้ว และนำเอาเลข 60 ซึ่งตรงกันมาใช้เป็นคำตอบ
เข้าใจยากหน่อยครับ สามารถอ่าน Lookup ได้จากที่นี่น่าะจะทำให้เข้าใจได้ดีขึ้น
http://office.microsoft.com/th-th/excel ... P010079186 