[]
이 함수는 수식을 사용하여 데이터 요약을 생성할 수 있게 해줍니다. 행 필드를 따라 그룹화하고 관련 값을 집계할 수 있습니다. 추가로, 그룹화된 데이터에 대해 정렬 및 필터링도 수행할 수 있습니다.
GROUPBY(row_fields,values,function,[field_headers],[total_depth],[sort_order],[filter_array],[field_relationship])
함수는 다음과 같은 인수를 가집니다.
인수 | 설명 | 예제 |
---|---|---|
row_fields | 행을 그룹화하고 행 머리글을 생성하는 데 사용되는 값이 포함된 열 지향 배열 또는 범위입니다. |
|
values | 집계할 데이터가 포함된 열 지향 배열 또는 범위입니다. |
|
function | 그룹화된 데이터를 요약할 함수입니다. |
|
field_headers [선택] | row_fields와 values에 머리글이 있는지, 결과에 필드 머리글을 반환할지 여부를 지정하는 숫자입니다. 옵션: 생략(기본) - values 인수를 기준으로 데이터에 머리글이 있다고 가정 0 - 없음 1 - 있음(표시하지 않음) 2 - 없음(생성함) 3 - 있음(표시함) | |
total_depth[선택] | 행 머리글에 합계가 포함될지 여부를 결정합니다. 옵션: 생략(기본) - 전체 합계 및 가능하면 부분 합계 포함 0: 합계 없음 1: 전체 합계만 포함 2: 전체 및 부분 합계 포함 | |
sort_order | 행을 어떻게 정렬할지 나타내는 숫자입니다. 숫자는 row_fields의 열 다음에 values의 열에 해당합니다. 숫자가 음수이면 내림차순/역순으로 정렬됩니다. 생략(기본): row_fields 값에 따라 A에서 Z로 오름차순 정렬 여러 열로 정렬 시: row_fields의 열과 values의 열에 대응하는 1차원 배열을 제공합니다. | |
filter_array | 해당 데이터 행을 고려할지 여부를 나타내는 부울값으로 구성된 열 지향 1차원 배열입니다. | =GROUPBY(B:B, E:E, COUNT, , , , G:G > 200) |
field_relationship | row_fields에 여러 열이 제공될 때 관계 필드를 지정합니다. 옵션: 0: 계층(기본) - 이후 필드 열 정렬 시 이전 열의 계층 구조를 고려함 1: 표 - 각 필드 열이 독립적으로 정렬됨. 계층 구조를 필요로 하는 부분 합계는 지원되지 않음 |
GROUPBY 함수는 Excel 가져오기 및 내보내기를 지원합니다.
GROUPBY(A1:A62, E1:E62, SUM)
다음 코드는 데이터 집합에서 GROUPBY 함수 사용 예를 보여줍니다.
// Allow the Dynamic Array to True
spread.options.allowDynamicArray = true;
spread.setSheetCount(3);
let sheet2 = spread.getSheet(1);
sheet2.name("GROUPBY Function");
let data = [
["YEAR", "Category", "Product", "Status", "Sales", "Rating"],
[2023, "Electronics", "Smart TV", "Active", 15000, 4.5],
[2023, "Fashion", "Designer Jeans", "Discontinued", 8000, 4.7],
[2024, "Food", "Organic Granola", "Active", 5000, 4.8],
[2023, "Books", "Bestseller Novel", "Active", 12000, 4.6],
[2024, "Electronics", "Laptop", "Active", 20000, 4.9],
[2023, "Beauty", "Skincare Set", "Discontinued", 7000, 4.4],
[2023, "Home & Garden", "Garden Tools", "Active", 6500, 4.3],
[2024, "Health", "Fitness Tracker", "Active", 9500, 4.6],
[2023, "Toys", "Action Figure", "Active", 4800, 4.7],
[2024, "Automotive", "Car Accessories", "Discontinued", 3200, 4.5],
[2023, "Sports", "Basketball", "Active", 7600, 4.8],
[2024, "Office Supplies", "Notebooks", "Active", 11000, 4.4],
[2023, "Pet Supplies", "Dog Food", "Discontinued", 5600, 4.6],
[2024, "Music", "Headphones", "Active", 13000, 4.9],
[2023, "Outdoor", "Camping Tent", "Discontinued", 4400, 4.5],
[2024, "Jewelry", "Silver Necklace", "Active", 2800, 4.7],
[2023, "Tools", "Power Drill", "Active", 3900, 4.4],
[2024, "Baby", "Stroller", "Active", 1700, 4.6],
[2023, "Kitchen", "Blender", "Active", 2500, 4.8],
[2024, "Clothing", "Casual Shirt", "Discontinued", 6200, 4.5],
[2023, "Art", "Oil Paintings", "Active", 1900, 4.7],
[2024, "Hobbies", "Model Trains", "Active", 3100, 4.4],
[2023, "Tech Gadgets", "Smart Watch", "Discontinued", 7300, 4.6],
[2024, "Travel", "Luggage", "Active", 4600, 4.8],
[2023, "Home Decor", "Wall Clock", "Active", 2200, 4.5],
];
// Sheet2 - GROUPBY Function
sheet2.setArray(0, 0, data);
sheet2.tables.add("table2", 0, 0, data.length, 6, GC.Spread.Sheets.Tables.TableThemes.medium2);
sheet2.setFormula(2, 8, "=GROUPBY(A2:A26,E2:E26, SUM)");