Thep Excel

CUBERANKEDMEMBER – ดึงสมาชิกโดยเรียงลำดับอันดับ

CUBERANKEDMEMBER ส่งกลับสมาชิกที่อยู่ในตำแหน่งอันดับที่ระบุจากชุด ใช้หาข้อมูลอันดับ 1, 2, 3 หรืออื่น ๆ จากคิวบ์

=CUBERANKEDMEMBER(connection, set_expression, rank, [caption])

By ThepExcel AI Agent
11 December 2025

Function Metrics


Popularity
2/10

Difficulty
7/10

Usefulness
5/10

Syntax & Arguments

=CUBERANKEDMEMBER(connection, set_expression, rank, [caption])

Argument Type Required Default Description
connection text Yes ข้อความที่ระบุชื่อของการเชื่อมต่อกับคิูบ (เช่น ‘Sales’, ‘HR’, ‘Finance’) ต้องตรงกับชื่อการเชื่อมต่อใน cube ของ Analysis Services
set_expression text or function Yes ชุดของสมาชิกที่ต้องการค้นหา อาจเป็น CUBESET function หรืออ้างอิงเซลล์ที่มี CUBESET เช่น CUBESET(“Sales”,”{[Item].children}”) หรือ $D$4
rank number Yes ตัวเลขที่ระบุตำแหน่งอันดับที่ต้องการ (1 = ที่หนึ่ง, 2 = ที่สอง, เป็นต้น) ต้องเป็นจำนวนเต็มบวกและไม่เกินจำนวนสมาชิกในชุด
caption text Optional ข้อความทดแทนที่แสดงในเซลล์แทนชื่อของสมาชิก เช่น ‘Top Month’ หรือ ‘Best Seller’ (ถ้าไม่ใส่จะแสดงชื่อสมาชิกจริง)

How it works

หาเดือนที่มียอดขายสูงสุด

ใช้ CUBERANKEDMEMBER เพื่อค้นหาเดือนที่มียอดขายสูงสุด (rank=1) หรือต่ำสุด (rank=12 หากมี 12 เดือน)

หาร้านค้าที่มีประสิทธิภาพดีที่สุด

ใช้ CUBERANKEDMEMBER เพื่อค้นหาร้านค้า 3 อันดับแรกที่มีกำไรสูงสุด

Examples

ตัวอย่างที่ 1: หาเดือนที่มียอดขายสูงสุด
CUBERANKEDMEMBER("Sales", $D$4, 1, "Top Month")
ดึงเดือนที่อยู่อันดับ 1 (สูงสุด) จากชุดที่ระบุในเซลล์ D4 และแสดงข้อความ 'Top Month' แทนชื่อจริง
Excel Formula:

=CUBERANKEDMEMBER("Sales", $D$4, 1, "Top Month")

Result:

June (หรือเดือนที่มียอดขายสูงสุด)

ตัวอย่างที่ 2: หาสินค้า Top 3
CUBERANKEDMEMBER("Sales", CUBESET("Sales", "{[Product].children}"), 3)
ใช้ CUBESET เพื่อสร้างชุดสินค้าทั้งหมด จากนั้นดึงสินค้าที่อยู่ในตำแหน่งลำดับที่ 3
Excel Formula:

=CUBERANKEDMEMBER("Sales", CUBESET("Sales", "{[Product].children}"), 3)

Result:

Widget C (หรือสินค้าลำดับที่ 3)

ตัวอย่างที่ 3: หาตัวแทนขายอันดับ 5
CUBERANKEDMEMBER("SalesPeople", CUBESET("SalesPeople", "{[Sales Rep].members}"), 5, "#5 Sales Rep")
ดึงตัวแทนขายลำดับที่ 5 จากชุด members ทั้งหมด พร้อมแสดง caption เป็น '#5 Sales Rep'
Excel Formula:

=CUBERANKEDMEMBER("SalesPeople", CUBESET("SalesPeople", "{[Sales Rep].members}"), 5, "#5 Sales Rep")

Result:

Alice Johnson

ตัวอย่างที่ 4: หาลูกค้า Bottom 1 (ต่ำสุด)
CUBERANKEDMEMBER("Sales", $D$10, 50, "Lowest Customer")
หากชุดมี 50 ลูกค้า rank=50 จะส่งกลับลูกค้าลำดับสุดท้าย (ต่ำสุด) ข้อมูลต้องเรียงจากสูงไปต่ำ
Excel Formula:

=CUBERANKEDMEMBER("Sales", $D$10, 50, "Lowest Customer")

Result:

Small Shop Inc

FAQs

rank ต้องมีค่าเท่าไหร่ถึงจะถูก?

rank ต้องเป็นจำนวนเต็มบวก (1, 2, 3, …) ที่ไม่เกินจำนวนสมาชิกในชุด ผมแนะนำให้ใช้ COUNTA หรือ CUBESETCOUNT เพื่อนับจำนวนสมาชิกก่อน เช่น =CUBERANKEDMEMBER(“Sales”, $D$4, MIN(5, CUBESETCOUNT($D$4)))

ทำไม CUBERANKEDMEMBER ต้องใช้กับ CUBESET?

เพราะ CUBERANKEDMEMBER ต้องการชุด (set) ของสมาชิกเพื่อรู้ว่าจะเรียงลำดับเทียบจากอะไร CUBESET สร้างชุดนั้นขึ้นมา ถ้าเอาเซลล์ธรรมดามา มันจะ Error #N/A

Error #NAME? หมายความว่าอะไร?

ผมพบว่า #NAME? ปกติเกิดจากการเชื่อมต่อไม่ถูกต้อง ชื่อ connection ไม่ตรงกับชื่อใน cube หรือ Analysis Services ไม่พร้อม ตรวจสอบการเชื่อมต่อกับ OLAP server ก่อน

ถ้า rank ใหญ่เกินจำนวนสมาชิก จะเป็นไง?

ผม Error #NUM! หรือ #N/A มักจะได้ ให้ลองใช้ IFERROR เป็นตัวดักไว้ เช่น =IFERROR(CUBERANKEDMEMBER(…), “ไม่พบอันดับนี้”)

Caption พารามิเตอร์ใช้ทำไม?

Caption ใช้แสดงข้อความแทนชื่อจริงของสมาชิก เช่นถ้าชื่อจริงยาว ใส่ caption=”Top” แล้วเซลล์จะแสดง ‘Top’ แทน ถ้าไม่ใส่ก็แสดงชื่อจริง

Resources & Related

Additional Notes

CUBERANKEDMEMBER ดึงสมาชิกจากชุดโดยอ้างอิงตำแหน่งอันดับที่คุณต้องการ rank=1 คือสูงสุด, rank=2 คือลำดับที่สอง เป็นต้น เป็นฟังก์ชันเคลื่อน (CUBE function) ที่ต้องเชื่อมต่อกับ OLAP cube ของ Analysis Services

ที่เจ๋งคือมันช่วยให้หาข้อมูลจำเพาะตามตำแหน่ง เช่น “เดือนที่ขายสูงสุด” หรือ “สินค้าลำดับที่ 5 ในยอดขาย” โดยไม่ต้องเรียงลำดับตารางทั้งหมด ตรงไปตรงมาและทำงานกับข้อมูล multidimensional ได้ดี

ส่วนตัวผมใช้ CUBERANKEDMEMBER เวลาทำ dashboard ที่ต้องแสดง “Top Performer” หรือ “Bottom Sellers” ตรง ๆ เลย มันช่วยอัพเดตอัตโนมัติเมื่อข้อมูลเปลี่ยน ไม่ต้องใช้ helper column

Leave a Reply

Your email address will not be published. Required fields are marked *