Page 1 of 1

vlookup แทน if

Posted: Thu Sep 25, 2014 4:36 pm
by Supachok
เรียน ผู้รู้ทุกท่าน

J14:K17 ถ้าต้อง เรียงจากมากไปน้อย
จะต้องแก้ตัวเลขช่อง J14:J17 เป็นอะไรถึงจะได้ค่า เกรดเท่าเดิมใน ช่อง G

Re: vlookup แทน if

Posted: Thu Sep 25, 2014 4:36 pm
by Supachok
แนบไฟล์

Re: vlookup แทน if

Posted: Thu Sep 25, 2014 6:11 pm
by snasui
Supachok wrote:J14:K17 ถ้าต้อง เรียงจากมากไปน้อย
จะต้องแก้ตัวเลขช่อง J14:J17 เป็นอะไรถึงจะได้ค่า เกรดเท่าเดิมใน ช่อง G
:D ตัวอย่างสูตร

เซลล์ G2 คีย์สูตร

=INDEX($K$14:$K$17,SMALL(IF($J$14:$J$17<=$E3,ROW($J$14:$J$17)-ROW($J$14)+1),1))

Ctrl+Shift+Enter > Copy ลงด้่านล่าง

Re: vlookup แทน if

Posted: Thu Sep 25, 2014 6:22 pm
by Supachok
ขอบคุณครับ อาจารย์

แต่เปลี่ยนสูตรจาก Vlookup เป็น Array / index
เหมือนที่แปลงจาก if หน้าเป็น vlookup แต่กลับหัว

Re: vlookup แทน if

Posted: Thu Sep 25, 2014 6:28 pm
by snasui
Supachok wrote:เหมือนที่แปลงจาก if หน้าเป็น vlookup แต่กลับหัว
:D ความหมายคืออะไรครับ

คุณไม่สามารถใช้ if แทน Vlookup ได้กรณีข้อมูลเกิน 64 ค่า

ฟังก์ชั่นต่าง ๆ สามารถซ้อนกันได้แค่ 64 ชั้นเท่านั้น การใช้ฟังก์ชั่นควรใช้ให้เหมาะกับงาน ข้อมูลที่เรียงจากน้อยไปหามาก เราสามารถเรียงจากมากไปหาน้อยได้ด้วยสูตรง่าย ๆ โดยไม่จำเป็นต้องเรียงด้วยมือ เพื่อให้สะดวกต่อการใช้งาน

ฟังก์ชั่นจำพวก Lookup จะทำงานได้เร็วหากข้อมูลมีการจัดเรียงที่เหมาะสม เช่น Lookup, Vlookup หากเรียงจากน้อยไปหามากแล้วจะทำให้คำนวณได้รวดเร็วอย่างเทีบบกันไม่ได้

การประยุกต์ใช้สูตรส่วนหนึ่งมาจากข้อจำกัด เช่นพื้นที่ใช้งาน แต่หากไม่มีข้อจำกัดใด เราจะไม่พยายามใช้สูตรที่ซับซ้อนโดยไม่จำเป็นครับ