Back to: Applying Excel in Product Summary and Invoice
เริ่มต้นจากออกแบบตารางจัดเก็บข้อมูลแต่ละเรื่องออกเป็นแต่ละชีท เมื่อต้องการค้นหารายละเอียดของ Order ID ใดให้ใช้สูตร Match เพื่อหาตำแหน่งรายการของ Order ID นั้นแล้วใช้สูตร Index หารายละเอียดแต่ละเรื่องซึ่งตั้งชื่อ Range Name ให้กับแต่ละ column เอาไว้
B2 เป็นเซลล์รับเลขที่ Order ID
B4 =MATCH(B2,Order_ID,0) ได้เลขที่รายการ 3
B5 =INDEX(Customer, B4) หาชื่อลูกค้าจากเลข 3
B6 =INDEX(Ship_Via, B4) หาวิธีการส่งสินค้าจากเลข 3
และจากชื่อลูกค้าที่หาได้ ใช้หาเลขที่รายการของชื่อลูกค้า โดยใช้สูตร B8 =MATCH(B5,Company_Name,0) ได้เลขลำดับที่ 34
B9 =INDEX(Address,B8) หาที่อยู่ของลูกค้าจากเลข 34
ส่วนข้อมูลรายละเอียดที่ต้องการแสดงใน Invoice ให้ใช้สูตร Array Multiple Match
=SMALL(IF(OrderID=B2,ROW(INDIRECT(“1:1000”))),G4:G8)
สูตรนี้สามารถใช้กับ Excel ได้ทุก version ยืดหยุ่นกว่าใช้สูตร Filter ซึ่งใช้ได้เฉพาะ Excel 365 เท่านั้น
แกะสูตร
OrderID=B2 เป็นเงื่อนไขเทียบหาว่ารหัสอยู่ตำแหน่งไหน
ROW(INDIRECT(“1:1000”)) สร้างเลขลำดับตั้งแต่ 1 ถึง 1000
IF(OrderID=B2,ROW(INDIRECT(“1:1000”))) ทำหน้าที่เปลี่ยนตำแหน่งที่หาได้เป็นเลขที่ลำดับ
SMALL(เลขตำแหน่งรายการ,G4:G8) จัดเรียงเลขที่รายการจากน้อยไปมากจากเลขลำดับใน G4:G8
Download ตัวอย่างได้จาก
https://drive.google.com/file/d/1AzMPVKHXvBhrgtpxXzvuq0KK2McqVl2Y/view?usp=sharing