ฟังก์ชันพวกนี้ไม่ยากครับ แต่จะยากตรงที่วิธีคิด คำถามนี้เป็นการแจกแจงการเรียงค่าต่าง ๆ ออกมาซึ่งต้องเรียงให้ครบตามชุด เราก็ต้องสร้างสูตรเพื่อให้เป็นตามเงื่อนไขดังนี้
1. คอลัมน์แรกเรียงข้อมูล A1:A7 ออกมาแบบซ้ำ ๆ เพื่อให้เข้าชุดกันทั้งหมด ซึ่งมีชุดละ 9 ค่า โดยจำนวนที่แสดงจะมาจาก A1:A7 จำนวน 7 ค่า มาจาก B1 จำนวน 1 ค่า และมาจาก C1 จำนวน 1 ค่า รวมทั้งหมดเป็น 9 ค่า จึงเป็นที่มาว่าเลข 9 มาจากไหน
2. คอลัมน์ที่สองเรียงข้อมูล B1:B3 ออกมาเป็นชุด ๆ เช่นเดียวกันแต่พิศดารกว่า คือเรียงชุดละ 3 ค่า เมื่อเรียงหมดแล้วให้วนมาขึ้นชุดแรกใหม่
3. คอลัมน์ที่สามเรียงข้อมูล C1:C3 ออกมาเป็นชุด ๆ เป็นการเรียงที่ง่ายที่สุด โดยเรียงค่า 1 ถึง 3 วนไปเรื่อย ๆ
ตัวอย่างคำอธิบายสูตร
1. จากสูตร INDEX($A$1:$A$7,INT((ROWS(A$9:A9)-1)/9)+1) หมายถึง จากช่วง $A$1:$A$7 ให้นำ
ลำดับที่ได้จากผลลัพธ์ของ INT((ROWS(A$9:A9)-1)/9)+1 มาแสดง
จากสูตร INT((ROWS(A$9:A9)-1)/9)+1 หมายถึง ให้นำผลลัพธ์ที่เป็นจำนวนเต็ม (ไม่เอาเศษ) ที่ได้จากสูตร (ROWS(A$9:A9)-1)/9 มาบวกกับ 1
จากสูตร ROWS(A$9:A9) หมายถึง
จำนวนบรรทัดระหว่าง A$9:A9 จะเห็นว่า A9 ตัวหลังไม่ได้มีการ Lock บรรทัด คือไม่มี $ อยู่ข้างหน้า หากมีการ Copy ลงไปด้านล่างก็จะกลายเป็น A10, A11, A12... ไปเรื่อย ๆ
การนำ -1 และ +1 เข้ามาร่วมคำนวณเป็นเทคนิคที่ทำให้ผลลัพธ์เริ่มที่ 1 เสมอ
2. จากสูตร INDEX($B$1:$B$3,INT((
COUNTIF($A$9:A9,A9)-1)/3)+1) หมายถึง จากช่วงข้อมูล $B$1:$B$3 ให้นำ
ลำดับที่ได้จากผลลัพธ์ของ INT((
COUNTIF($A$9:A9,A9)-1)/3)+1 มาแสดง
จากสูตร INT((
COUNTIF($A$9:A9,A9)-1)/3)+1 หมายถึง ให้นำผลลัพธ์ที่เป็นจำนวนเต็ม (ไม่เอาเศษ) ที่ได้จากสูตร (
COUNTIF($A$9:A9,A9)-1)/3 มาบวกกับ 1
จากสูตร
COUNTIF($A$9:A9,A9) หมายถึงให้นับว่า มีค่า A9 อยู่กี่ค่าในช่วง $A$9:A9
3. จากสูตร INDEX($C$1:$C$3,MOD((ROWS(C$9:C9)-1),3)+1) หมายถึง จากช่วงข้อมูล $C$1:$C$3 ให้นำลำดับที่ได้จากผลลัพธ์ของ MOD((ROWS(C$9:C9)-1),3)+1 มาแสดง
จากสูตร MOD((ROWS(C$9:C9)-1),3)+1 หมายถึงให้นำผลลัพธ์ซึ่งเป็นเศษจากการหาร (ROWS(C$9:C9)-1) ด้วย 3 มาบวกด้วย 1 สำหรับ Rows ก็ความหมายเช่นเดียวกับข้อ 1
คำอธิบายแต่ละฟังก์ชั่นแบบละเอียดให้เข้าไปอ่านในเวบของ Microsoft ครับ คิดว่าไม่มีใครอธิบายได้ดีเท่านี้ โดยดูตามด้านล่าง
1. Index
https://support.microsoft.com/en-us/off ... n-us&ad=us
2. Rows
https://support.microsoft.com/en-us/off ... n-us&ad=us
3. Int
https://support.microsoft.com/en-us/off ... n-us&ad=us
4. Mod
https://support.microsoft.com/en-us/off ... n-us&ad=us
5.
Countif https://support.microsoft.com/en-us/off ... n-us&ad=us