Vlookup แบบ Approximate Match จะกำหนดให้ในวงเล็บของสูตร VLookup ส่วนสุดท้ายจะใส่คำว่า True หรือเลข 1 หรือละไว้ไม่ต้องใส่ก็ได้ มีความหมายว่าตารางใน Column ซ้ายสุดนั้นต้องเรียงค่าจากน้อยไปมาก (True หมายความว่า ใช่ คือเรียงลำดับ) เช่น
=VLookup(Number,NuberRange,2) นั่นเป็นการละเลข 1 ของ VLookup แบบเต็มๆ ตามนี้
=VLookup(Number,NuberRange,2,True) หรือ
=VLookup(Number,NuberRange,2,1)
ส่วน Vlookup แบบ Exact Match จะใส่คำว่า False หรือ 0 ไว้ท้ายสุด เพื่อกำหนดว่า ไม่ต้องเรียงลำดับ เช่น
=VLookup(Id, CustomerData, 2, False) สามารถใช้แบบนี้แทนได้
=VLookup(Id, CustomerData, 2, 0)
++++++++++++++++++++++++++++++++++
ในสูตร Array เมื่อนำตารางเก็บข้อมูลมาเทียบหาตำแหน่งที่ตรงกับค่าที่ต้องการ ถ้าตำแหน่งตรงกันจะได้ True ตรงนั้น จากนั้นพอนำไปคูณกับตัวเลขคำตอบ จะได้เลข 1 มาแทน True เข่น หาว่าตรงไหนใน IdRange ที่มีรหัส a002
a001
a002
a003
a002
a005
จะได้ออกมาเป็น
False
True
False
True
False
จากนั้นพอนำไปคูณกับค่าอื่นใน NumRange ที่เป็นเลข 100-500 จะแปลงออกมาเป็น
0*100 = 0
1*200 = 200
0*300 = 0
1*400 = 400
0*500 = 0
นี่คือที่มาของสูตร =SumProduct((IDRange=a002)*NumRange)
ได้คำตอบว่ารหัส a002 มียอดรวม 600
หลักคำนวณของสูตร Array จะใช้ตำแหน่งที่เป็น True หรือ 1 มาใช้ในการบอกตำแหน่งครับ หัวใจของ Array มีแค่นี้เอง
++++++++++++++++++++++++++++++++++
ถ้าคิดแบบค่าเดียว เลข 1 ใน Excel นั้นมีความหมายว่า True ส่วนเลข 0 มีความหมายว่า False
=IF(1,100,200) จะได้คำตอบเป็น 100 ครับ