首頁 > 專題 > excel > excel groupby函數可分組行和匯總值

excel groupby函數可分組行和匯總值

William Shakespeare
發布: 2025-03-22 11:03:11
原創
480 人瀏覽過

Unlock the Power of Excel's GROUPBY Function for Enhanced Data Analysis! This function simplifies data grouping, summarization, sorting, and filtering, all within a single formula. Say goodbye to complex outlines, subtotals, and pivot tables – GROUPBY streamlines your workflow.

Excel's data analysis capabilities just got a significant boost. While features like outlines and pivot tables have long been staples for organizing and interpreting data, the new GROUPBY function offers a more streamlined approach, all within the convenience of your formula bar.

  • Understanding the Excel GROUPBY Function: Syntax and Basic Applications
  • GROUPBY Function Availability and Compatibility
  • Constructing a Basic GROUPBY Formula
  • Mastering GROUPBY: Advanced Formula Examples
    • Selecting the Right Aggregation Function
    • Displaying Headers Effectively
    • Grouping Rows Using Multiple Columns
    • Grouping with Non-Adjacent Columns
    • Controlling the Display of Totals and Subtotals
    • Sorting Grouped Data
    • Filtering Results
    • Aggregating Multiple Columns (Adjacent and Non-Adjacent)
    • Multiple Aggregations on a Single Dataset
    • Handling Comma-Separated Text Strings
  • Auto-Formatting GROUPBY Results with Conditional Formatting
  • Troubleshooting GROUPBY Function Issues

The Excel GROUPBY Function

The GROUPBY function efficiently groups and aggregates data rows based on values in one or more columns. It also supports sorting and filtering of grouped data. As a dynamic array function, it returns multiple results, spilling into adjacent cells. The output resembles a pivot table without the formatting; the spill range dynamically recalculates with data changes. This is particularly beneficial for large datasets requiring summarized data through functions like SUM, AVERAGE, or COUNT.

Excel GROUPBY function to group rows and aggregate values

Note: GROUPBY is similar to PIVOTBY, but GROUPBY exclusively groups data in rows.

Function Syntax

GROUPBY(row_fields, values, function, [field_headers], [total_depth], [sort_order], [filter_array])

Seven arguments are available, but only the first three are mandatory:

  • row_fields (required): The range of values to group by.
  • values (required): The values to aggregate.
  • function (required): The aggregation function (e.g., SUM, AVERAGE, COUNT, MIN, MAX).
  • field_headers (optional): Controls header display (0: No headers, 1: Yes, but don't show, 2: No headers, but generate, 3: Yes, and show).
  • total_depth (optional): Controls total/subtotal display (0: No totals, 1: Grand total at bottom, 2: Grand and subtotals at bottom, -1: Grand total at top, -2: Grand and subtotals at top).
  • sort_order (optional): Sorts by column index (positive for ascending, negative for descending). Arrays allow multi-column sorting.
  • filter_array (optional): Filters rows using a Boolean array.

Usage Tips

  • Dynamic Updates: The formula dynamically adjusts to dataset changes within its range. Adding new rows requires including them in the argument ranges or using an Excel table for automatic expansion.
  • Header Detection: If field_headers is omitted, Excel infers headers based on the values argument (text followed by a number suggests headers).
  • Range Consistency: row_fields and values must have equal lengths to avoid #VALUE! errors.
  • Conditional Formatting: Enhance readability by using conditional formatting to highlight totals and subtotals.

Note: GROUPBY is under development; thorough testing is recommended.

GROUPBY Function Availability

Currently available in Excel for Microsoft 365 (Insider Beta Channel).

Basic GROUPBY Formula

Let's assume a dataset with project names (Column A), types (Column B), and revenues (Column C). To summarize revenues by project type:

=GROUPBY(B2:B32, C2:C32, SUM)

This yields a list of unique project types with their revenue sums. Defaults are used for optional arguments (no headers, ascending sort, grand total at bottom).

Excel GROUPBY function to group rows and aggregate values

Advanced GROUPBY Formula Examples

This section expands on the basic example, demonstrating the function's versatility.

Choosing the Aggregation Function

GROUPBY supports 16 aggregation functions, including standard functions (SUM, AVERAGE, COUNT, etc.) and specialized ones (PERCENTOF, ARRAYTOTEXT). These are eta-reduced lambdas, simplifying usage. Custom lambda functions are also supported. Multiple aggregations are possible using vectors (vertical for column stacking, horizontal for row stacking).

Displaying Headers

Use the field_headers argument (set to 3) to include headers in the output.

=GROUPBY(B2:B32, C2:C32, SUM, 3)

Excel GROUPBY function to group rows and aggregate values

Grouping by Multiple Columns

Include a multi-column range in row_fields to group by multiple columns. For example, grouping by project type and status:

=GROUPBY(B2:C32, D2:D32, COUNT)

Excel GROUPBY function to group rows and aggregate values

Grouping by Non-Adjacent Columns

Use CHOOSECOLS to select non-adjacent columns for grouping:

=GROUPBY(CHOOSECOLS(A2:D32, 2, 4), C2:C32, COUNT)

Excel GROUPBY function to group rows and aggregate values

Controlling Totals and Subtotals

Use total_depth to control total/subtotal display. Setting it to 2 shows both grand and subtotals.

=GROUPBY(B2:C32, D2:D32, SUM, 3, 2)

Excel GROUPBY function to group rows and aggregate values

Sorting Grouped Rows

Use sort_order for custom sorting (positive for ascending, negative for descending). Arrays enable multi-column sorting.

=GROUPBY(B2:B32, C2:C32, SUM, , , 2) (Sorts by values)

Excel GROUPBY function to group rows and aggregate values

=GROUPBY(B2:C32, D2:D32, SUM, , , {-1,2}) (Multi-column sort)

Excel GROUPBY function to group rows and aggregate values

Filtering Results

Use filter_array (Boolean array) to filter rows.

=GROUPBY(B2:B32, C2:C32, SUM, , , , B2:B32<>"Design")

Excel GROUPBY function to group rows and aggregate values

Aggregating Multiple Columns

Aggregate adjacent columns directly:

=GROUPBY(B2:B32, D2:E32, AVERAGE, 3)

Excel GROUPBY function to group rows and aggregate values

For non-adjacent columns, use CHOOSECOLS:

=GROUPBY(B2:B32, CHOOSECOLS(C2:E32, 1, 3), AVERAGE, 3)

Excel GROUPBY function to group rows and aggregate values

Multiple Aggregations on the Same Data

Use HSTACK or VSTACK for multiple aggregations:

=GROUPBY(B3:B32, C3:C32, HSTACK(SUM, AVERAGE, PERCENTOF))

Excel GROUPBY function to group rows and aggregate values

=GROUPBY(B3:B32, C3:C32, VSTACK(SUM, AVERAGE, MIN, MAX),, 0)

Excel GROUPBY function to group rows and aggregate values

Grouping Comma-Separated Text Values

Use ARRAYTOTEXT to group comma-separated text:

=GROUPBY(B3:B23, A3:A23, ARRAYTOTEXT, 0, 0)

Excel GROUPBY function to group rows and aggregate values

Conditional Formatting of GROUPBY Results

Enhance visual clarity using conditional formatting to highlight headers, totals, and subtotals.

Troubleshooting GROUPBY Function Issues

  • Function Unavailability: Ensure you have a Microsoft 365 subscription and the latest updates.
  • #VALUE! Error: Check for equal lengths in row_fields and values arguments, and ensure correct filter_array length. Also, verify that total_depth is appropriate for the number of columns in row_fields.
  • #SPILL! Error: Clear adjacent cells to allow spill range.

In conclusion, the GROUPBY function significantly enhances Excel's data analysis capabilities, providing a powerful and efficient tool for various data manipulation tasks. With practice, you'll unlock its full potential for insightful data analysis.

以上是excel groupby函數可分組行和匯總值的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板