Back to: Applying Excel in Product Summary and Invoice
บทเรียนนี้เป็นสิ่งที่หลายคนต้องการ นั่นคือ วิธีการสร้างรายการที่ต้องนำมาแสดงในหน้า Invoice ซึ่งสูตร VLookup หรือ Match Index ไม่สามารถหาทุกรายการมาแสดงได้ ต้องพึ่งสูตร Multiple Match ที่สร้างขึ้นมาใช้เอง
ที่พิสดารหน่อยก็คือ เราสามารถเลือกให้แบ่งรายการทั้งหมดมาแสดงรายการของแต่ละหน้าได้ด้วย
สูตร Array ต่อไปนี้เวลาสร้างต้องเลือกพื้นที่ตามแนวตั้งพร้อมกัน พอสร้างสูตรเสร็จแล้วให้กดปุ่ม Ctrl+Shift+Enter เพื่อบันทึกสูตรลงไปพร้อมกันทั้งตาราง ซึ่งจะพบว่ามีเครื่องหมายวงเล็บปีกกาปิดหัวท้ายสูตรให้เอง
P5:P9 ใช้เพื่ออธิบายที่ไปที่มา กับ S8:S12 ซึ่งเป็นสูตรที่ใช้จริง มีสูตรแบบเดียวกัน
{=SMALL(IF((Product=ProductChoice)*(Date>=From)*(Date<=To),ROW(INDIRECT(“1:”&ROWS(Product)))),R8:R12)}
อธิบายแต่ละส่วน
(Product=ProductChoice)*(Date>=From)*(Date<=To) ทำหน้าที่เปลี่ยนตำแหน่งรายการที่ต้องการเป็นเลข 1
ROW(INDIRECT(“1:”&ROWS(Product))) ทำหน้าที่สร้างเลขลำดับ 1,2,3,4,5 ไปจนถึงเลขสุดท้ายตามจำนวนรายการที่มีทั้งหมดตามที่สูตร ROWS(Product) หาให้
IF((Product=ProductChoice)*(Date>=From)*(Date<=To),ROW(INDIRECT(“1:”&ROWS(Product)))) ทำหน้าที่เปลี่ยนตำแหน่งรายการออกมาเป็นเลขที่รายการ
Small(เลขที่รายการ, R8:R12) ทำหน้าที่เรียงลำดับรายการจากน้อยไปมาก โดยเริ่มต้นหาเลขที่เริ่มแต่ละหน้าจากสูตร
เลขที่รายการที่เริ่มต้นของแต่ละหน้า = ((เลขหน้า -1)*จำนวนบรรทัดต่อหน้า)+1
Download ตัวอย่างได้จาก
https://drive.google.com/file/d/1h5S9ok_d_yxbYXNA-SYzj7WwFL-ra5vr/view?usp=sharing