วันจันทร์ที่ 31 พฤษภาคม พ.ศ. 2553

search ข้อมูลด้วย VLOOKUP (by Spreadsheet software)

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

การค้นหาข้อมูลหากใช้ MS Access คงจะสะดวกมากในการค้นหาเนื่องจากในมีคำสั่ง SQL ช่วยในการค้นหา หากท่านเก็บข้อมูลไว้ใน Spreadsheet software เช่น MS Excel หล่ะ เราจะค้นหาข้อมูลเหล่านั้นได้อย่างไร สมมุติว่าเราได้เก็บข้อมูลส่วนผสมของสารเคมีสำหรับการผสมยาชนิดต่างๆไว้ใน Sheet1 ดังรูป


โดยหลัก A จะเก็บชื่อสูตรยา หลัก B เป็นปริมาณร้อยละของสาร X หลัก C เป็นปริมาณร้อยละของสาร Y และ หลัก D เป็นปริมาณร้อยละของสาร Z ข้อมูลในแต่ละแถวคือสูตรยาต่างๆ โดยจากตัวอย่างประกอบไปด้วยห้าสูตร ดังนี้ สูตร 1 , สูตร 2,สูตร 3,สูตร 4 และ สูตร 5
สมมุติว่าเราต้องการคำนวณปริมาณสารเคมีที่ใช้ในการผสมยาสูตรต่างๆ สิ่งแรกที่ต้องทราบคือชื่อสูตรยาที่ต้องการผสม และปริมาณยาที่ต้องการผสม M ดังนั้นปริมาณสารเคมี X ,Y, Z จะคำนวณได้จากสูตร M*X , M*Y , M*Z ตามลำดับ ปริมาณร้อยละของสารเคมีจะขึ้นอยู่กับสูตรยางที่้ี่เราเลือก จากรายละเอียดดังกล่าว เราสามารถใช้ฟังก์ชัน VLOOKUP ช่วยค้นหาข้อมูลที่ต้องการได้ โดยสมมุติให้เราเลือก Sheet2 เป็น Sheet สำหรับการคำนวณ กำหนดให้ A1 = "สูตรยา" , B1 = "ปริมาณยาที่ต้องการ(kg)" ,C1 = "ปริมาณสารเคมี X ที่ต้องใช้(kg)",D1 = "ปริมาณสารเคมี Y ที่ต้องใช้(kg)",E1 = "ปริมาณสารเคมี Z ที่ต้องใช้(kg)"

แนวคิด ผู้ใช้ป้อนชื่อสูตรยางในเซลล์ A2 และป้อนปริมาณยาที่ต้องการในเซลล์ B2 MS Excel จะค้นหาและคำนวณปริมารสารเคมีที่ต้องใช้ให้
วิธีการ คำนวณหาปริมาณสาร X ที่ต้องใช้ได้ โดยมีแนวคิดดังนี้ ปริมาณสาร X = M*X จากสูตรดังกล่าว M จะมีค่าเท่ากับค่าในเซลล์ B2 ขณะที่ X ต้องค้นหาจากข้อมูลในSheet1 โดยเริ่มจากค้นหาชื่อสูตรยางตามแนวดิ่งที่เท่ากับค่าในเซลล์ A2 เมื่อพบแล้วให้เลือกสมาชิกที่อยู่ในแถวเดียวกันในหลักที่ 2 นับจากชื่อสูตรยาง การค้นหาในลักษณะนี้จะใช้ฟังก์ชัน VLOOKUP ซึ่งมีรูปแบบดังนี้

VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)

lookup_value คือค่าที่จะค้นหาในฟิลด์แรกของตารางอาเรย์ ในที่ตัวอย่างนี้คือสูตรยางใน Sheet2 เซลล์ $A2
table_array คือตารางข้อมูลอย่างน้อยต้องมีฟิลด์เท่ากับสอง โดยค่าในฟิลด์แรกคือค่าที่ถูกค้นหาด้วย lookup_value ในตัวอย่างนี้คือข้อมูลใน Sheet1 ในช่วง $A2:$D6
col_index_num คือ หมายเลขฟิลด์ในตารางข้อมูล
table_array ซึ่งค่าภายในฟิลด์จะถูกส่งกลับมาในตัวอย่างนี้จะเท่ากับ 2
range_lookup คือค่าตรรกะในการค้นหาในตัวอย่างนี้เราต้องการค้นหาค่าที่ตรงกันเท่านั้นดังนั้นจึงกำหนดให้เท่ากับ 0

ดังนั้นจากตัวอย่างนี้เราสามารถเขียนสูตร X = M*X ได้ดังนี้

C2 = $B2*VLOOKUP($A2,Sheet1!$A2:$D6,2,0)/100

ดังนั้นสำหรับสารเคมี Y และ Z จะสามารถคำนวณได้ในทำนองเดียวกัน

D2 = $B2*VLOOKUP($A2,Sheet1!$A2:$D6,3,0)/100
E2 = $B2*VLOOKUP($A2,Sheet1!$A2:$D6,4,0)/100



จากตัวอย่างหากเราต้องการคำนวณปริมาณสารเคมีของสูตรยางหลายสูตรๆก็สามารถทำได้โดยง่ายโดยเพิ่มแถวของสูตรยาและปริมาณยาที่ต้องการในหลัก A และ B

หากมีข้อมูลของสูตรยาเพิ่มขึ้นเราสามารถเพิ่มแถวใน Sheet1 และทำการแก้ไขช่วงของ table array ในฟังก์ชัน VLOOKUP
ในกรณีที่มีการเพิ่มชนิดของสารเคมีในสูตรยาก็สามารถทำในทำนองเดียวกัน โดยต้องคำนึงถึง col_index_num
ด้วย

จากตัวอย่างที่นำเสนอแสดงให้เห็นว่าเราสามารถทำเครื่องมือค้นหาใน MS Excel ได้โดยง่ายและสามารถนำไปประยุกต์เพื่อช่วยในงานคำนวณหรือออกแบบได้ เช่นในกรณีที่ต้องค้นหาค่าจากตารางเช่น ตารางเหล็ก เป็นต้น วิศวกรอาจให้ผู้ช่วยกรอกข้อมูลตารางเหล่านี้เข้าไปเก็บเป็นฐานข้อมูลใน MS Excel และใช้ VLOOKUP ในการค้นหาข้อมูลเพื่อใช้ในการออกแบบซึ่งจะเพิ่มความรวดเร็วในการค้นหามากกว่าการเปิดตาราง แต่ทั้งนี้สิ่งสำคัญคือ ข้อมูลที่กรอกเข้าไปเป็นฐานข้อมูลต้องถูกต้อง(ต้องระวัง) ขณะเดียวกันเซลล์สำหรับ
lookup_value อาจใช้กล่องรายการเข้ามาช่วยเพื่อลดเวลาในการป้อนข้อมูลค้นหา

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

Yahoo bot last visit powered by  Ybotvisit.com