返回列表 发布新帖

[教程] Excel动态透视表--PIVOTBY函数初级到高级用法

333 1
打工日常 发表于 2026-1-9 09:51:50 | 查看全部 阅读模式 来自:Error

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
<p><img src="data/attachment/forum/202601/09/095116xnkk43ysdlmsyymy.webp" alt="141d455481b03db.webp" title="PIVOTBY函数-Excel函数教程" /></p>* r3 K& ^5 O4 }1 u4 u6 c
<p><code>PIVOTBY</code> 是 <strong>Excel 365/2021 及后续版本</strong>新增的<strong>动态数组函数</strong>,用于快速创建<strong>动态透视表</strong>,无需手动插入传统数据透视表,直接通过公式生成可自动溢出的透视结果,支持灵活的行列分组、聚合计算与筛选。相比传统透视表,<code>PIVOTBY</code> 更轻量化,可与其他函数嵌套使用。</p>6 z) t! X1 I+ g* ?
<h2>一、函数核心语法与参数说明</h2>7 b. u; S1 f% c( U  v; Z; _
<h3>1. 完整语法</h3>
4 B+ B* d" N7 j<pre><code class="language-excel">PIVOTBY(rows, cols, values, [agg], [row_total], [col_total], [filter_array], [drop_empty])
! e9 Z. ?2 V& u( z; u/ d</code></pre>
) t9 y" |8 Z: \' L<h3>2. 参数逐义解析</h3>: Q; n0 b# g4 [1 t+ z% H+ \( b
<table>( T- D* Y1 d* U3 M0 R
<thead>; n4 X" e4 r, a8 |7 U* q) [
<tr>! ?* I  z8 n: K. L+ z
<th>参数名</th>
9 |8 D5 X/ G$ `) W- z- h9 a<th>必选/可选</th>8 ]9 O, l5 ]% N- P: @9 y
<th>数据类型</th>+ c# w# w6 H6 t4 N# `6 T
<th>核心作用</th>
2 j! _5 q2 f5 O<th>注意事项</th>
, i5 S; d7 W7 i) H# Q! T</tr>& S+ n! L8 s3 ^2 e0 `
</thead>3 x: V! W# t, U0 n9 ?! P& P; q+ e6 C
<tbody>
; i8 B# G- A$ \3 y<tr>
) Q9 b3 O8 j( l% Z<td><code>rows</code></td>" T# G1 q3 `, v5 y/ E
<td>必选</td>& f$ i/ @" A& V
<td>单元格区域/数组</td>
( Q+ o# ~6 {1 L/ d6 ?- ]<td><strong>行标签数据源</strong>:用于分组的行维度字段(可单字段/多字段)</td># r! l8 E$ U. ]# {9 A4 G/ Q
<td>多字段需用 <code>HSTACK</code> 合并,如 <code>HSTACK(部门, 季度)</code></td>
) E8 c' a( E3 S: n* e! @9 D2 h</tr>
% c' h' ?% n- D1 U- B1 `: j<tr>' z! `5 j2 B: H' _! @, q2 M
<td><code>cols</code></td>
9 v$ {) _4 J! J+ n7 p<td>必选</td>
: ~. r+ n' u( I1 v3 K2 j7 |<td>单元格区域/数组</td>
- u0 P; S. j6 B! d+ p; m<td><strong>列标签数据源</strong>:用于分组的列维度字段(可单字段/多字段)</td>
+ R4 Y0 H# O. x1 {% _; K<td>多字段需用 <code>HSTACK</code> 合并,支持空值(<code>&quot;&quot;</code>)表示无列分组</td>3 f: D; ]) w. z! x5 B8 `0 m
</tr>
8 {7 F* Z1 n( Z9 {+ N<tr>
# Q, z, z+ d6 h' l0 B) a<td><code>values</code></td>% L+ C' s4 V2 z  \) k) {3 D
<td>必选</td>, l" D7 X: x+ ~
<td>单元格区域/数组</td>
! W( i+ @+ m" R<td><strong>值区域数据源</strong>:需要聚合计算的数值字段</td># d! R( y7 _! k9 c7 x. `
<td>区域行数必须与 <code>rows</code>/<code>cols</code> 完全一致</td>
3 ]8 A  J0 _/ V- }  ^# M</tr># a9 I' H- F' l
<tr>! R" o& n( a+ R- R$ I1 N
<td><code>[agg]</code></td>& _% n8 m& S0 o! z% k! K
<td>可选</td>
) v: w/ v! a7 I0 N9 |* n; e9 z$ @<td>文本/函数</td>
7 Q, L: N2 b5 o. ?<td><strong>聚合方式</strong>:默认 <code>SUM</code>,支持内置函数或自定义 <code>LAMBDA</code> 函数</td>8 m1 y+ j1 O. c( |# Y, y% K' R2 Z
<td>内置值:<code>SUM/COUNT/COUNTA/AVERAGE/MIN/MAX/MEDIAN</code> 等</td>
7 u- Z, d/ H" \0 v& t. A) A- I' @. }</tr>
, ~% h! O3 M9 [$ N<tr>
/ B: W" E; {, ^9 H6 m' J) w, E! A<td><code>[row_total]</code></td>3 H( R/ A. F& r& f3 ~" z3 W6 u. ]
<td>可选</td>
$ E; r/ g2 ~$ D. X  X2 x1 I  d# z<td>逻辑值/文本</td>
3 v9 z  I( Z) E5 O) {" C<td><strong>行总计开关</strong>:是否添加行总计行</td>
5 r: R7 o! b# v% L  ^' h+ J: P& G<td><code>TRUE</code>=显示总计(默认名称“总计”);<code>&quot;自定义名称&quot;</code>=自定义总计标题;<code>FALSE</code>=不显示</td>* `) O) Q  r9 x% f0 w
</tr># Y3 H8 `+ ^' k
<tr>/ t. b) [( h5 o, j
<td><code>[col_total]</code></td>7 H' f3 ^, ]7 r0 I5 @
<td>可选</td>. m+ T! Z/ O8 R# {: c
<td>逻辑值/文本</td>
  \$ L6 ]1 }, W  I1 V<td><strong>列总计开关</strong>:是否添加列总计列</td>
8 |+ b+ f+ c. M* t<td>规则同 <code>row_total</code></td>7 j% b: v: y+ T
</tr>
- @/ D0 ^8 }* y. U; B+ {<tr>. c  L9 |  q! W
<td><code>[filter_array]</code></td>8 Z+ {, U7 Y* z* r- }* H2 n8 Q
<td>可选</td>8 F, {/ G; y' ]  Q& o- o
<td>布尔数组</td>1 t; V' ?. e8 p' P  h+ [
<td><strong>筛选条件</strong>:按行筛选数据源,仅保留 <code>TRUE</code> 对应的行</td>
9 F3 |6 T- [' R9 F7 Y6 P9 s& o& [<td>数组行数必须与数据源一致,可结合 <code>FILTER</code> 函数生成筛选条件</td>
' n* i' e5 X! |! |</tr>
8 r4 h  p" q4 r0 r<tr>
% b# c+ x# b: J$ x' R<td><code>[drop_empty]</code></td>) M% D! C3 \1 W8 I
<td>可选</td>
4 P6 l) x' f; ?/ p. s4 y<td>逻辑值</td>) F* V( X5 y5 _, a8 a
<td><strong>空值过滤</strong>:是否删除无数据的行/列</td>
4 {2 p3 v3 Z$ m& E9 h<td><code>TRUE</code>=删除空行列(默认);<code>FALSE</code>=保留空行列</td>4 I6 ?# Q. Z" J1 q! `/ l0 F
</tr>
: U9 d- V) h% {7 s) v- d</tbody>8 S6 r. X2 q3 x3 x% d# H' i
</table>
/ B& Z; R3 P  x9 F8 b2 @" l<h3>3. 关键特性</h3>3 I# T+ m2 }# e' O8 G0 p
<ul>$ D3 [% |* ~; F/ E
<li><strong>动态溢出</strong>:公式输入后自动向下、向右溢出结果,无需手动拖拽填充。</li>
3 d, H; {7 `. G" u5 \<li><strong>自动更新</strong>:数据源变化时,结果实时刷新(需开启 Excel 自动计算)。</li>
; C1 c5 N# P: B6 _<li><strong>兼容性</strong>:仅支持 Excel 365/2021 及以上版本,低版本需用传统透视表替代。</li>" T6 v' W( v0 p1 p  `
</ul>, ~9 U8 P0 I# X4 Q7 ]
<h2>二、数据源准备(通用示例数据)</h2>/ \' O  f' b5 r  G0 ~
<p>为统一示例,使用<strong>销售数据表</strong>作为基础数据源,共 6 行数据:</p>
$ S5 e3 h" M: k. o* L; _3 x<table>0 U8 K6 X3 h3 Q6 i" A
<thead>
3 O: H* |( k$ v. w3 H<tr>
# k- F! o* i1 k8 b, o5 G# `4 E<th>单元格区域</th>3 o( u  f* Y7 A  ~. |5 w7 x* C
<th>A (部门)</th>* g- D, m2 v* ]+ `6 a  n
<th>B (季度)</th>
7 _6 `0 n7 G  i8 H" N<th>C (销售额)</th>- P2 G4 T: d, Z( G- ~' H0 n
<th>D (利润)</th>  i& }1 y% {" B7 V
</tr>6 l, _+ `! a  j
</thead># n+ I$ ^, {2 l$ p
<tbody>
5 w* E9 @( p  L- c: d# ?: e& \' F<tr>
" F9 d/ W' X! y0 y! {<td>1</td>2 d3 m" y! ]  s
<td>销售部</td>6 l/ h* o. T5 C% R1 V' s% F
<td>Q1</td>
& A( J+ ?: {' h' S$ s3 i<td>10000</td>
$ f2 h9 e/ ?6 o! U<td>2000</td>
, Z/ x  J! V! \0 _</tr># L+ D) R0 x6 G+ x( ?
<tr>( R9 d4 B5 a' f# i/ m  ?+ ?& j4 E
<td>2</td>
4 s- U, j% \$ q0 E<td>销售部</td>
) J# r5 S7 z& o* A<td>Q2</td>7 p' e+ Z! B/ N4 n8 s
<td>12000</td>% P  U- d( [3 N3 q: d
<td>2500</td># o8 m' J( S$ @( ^: x  [; U  q
</tr>
3 T, F+ ^+ s$ Q( e<tr>; ~- N' K% p/ V# z5 z4 v
<td>3</td>
. j2 x8 ~) g; c2 H) P! G<td>技术部</td>
( K' c  i$ E6 E<td>Q1</td>% `7 }2 ~9 E2 t2 i* y. m# I
<td>8000</td>
, r* X/ b3 i. D/ }! A5 Z4 h+ K; T<td>1500</td>7 A# K  \$ C) ^2 U& E
</tr># s6 V% ?$ Y0 g) ]8 B5 S1 ?
<tr>
- l, P' ^1 r& T* q% Y2 f<td>4</td>
' z5 M7 U* F+ [4 I$ T) @- u<td>技术部</td>
: b6 ?+ @! ]% H<td>Q2</td>! @* p0 v) c7 J5 g  m
<td>9000</td>
( |5 j7 R1 R# B+ S1 T. [<td>1800</td>
1 j. A/ U; W# P/ c: A. ^</tr>. z: w' T2 w/ q0 ^, |& ^) V5 b
<tr>
3 z2 v# V4 G5 v7 b" M/ t. F<td>5</td>
, x9 X5 z3 H5 }( `2 j<td>市场部</td># u' B0 B: \$ @1 ?8 m5 b1 Q6 n: C+ @
<td>Q1</td>
2 _) H9 |4 x" |; Q" T+ {2 ]<td>5000</td>& Y5 h/ l- k0 y7 V4 o
<td>1000</td>
7 H% a9 P, @/ T$ \+ R</tr>
& ~; @0 H: V+ R6 Y<tr>: F; l0 W% h5 s; K! @# x& O# i
<td>6</td>
; V, V( S" _: T8 }) n$ b9 X( @<td>市场部</td>1 S( b7 a- G& m& V. W$ d4 ]: }
<td>Q2</td>
) O6 l. x( @# Z6 C* F: Y1 \<td>2000</td>8 Q8 }8 e' `( ~# p
<td>300</td>
% ?/ c: D# \0 P% g5 H: |</tr>
& V) f8 P2 J, T& ~* X</tbody>" c. x6 N! b  e4 |/ H0 n# c2 R3 D
</table>1 G" O1 s& P+ T& N- K0 `5 C
<p>后续所有示例均基于此表,数据区域记为 <code>A1:D6</code>。</p>
* j+ N7 d7 O; u4 P) A. h$ M+ k<h2>三、初级用法:基础单维度透视</h2>' j) Q( ?# @3 ~6 O! y
<h3>场景1:单一行标签 + 单一列标签 + 单值聚合</h3>
  c6 t! j! ~/ P2 u8 L<p><strong>需求</strong>:按「部门」分组(行),按「季度」分组(列),统计<strong>销售额总和</strong>。</p>7 E6 w$ m; A" T" x- D3 A& |9 Y. o4 ]1 O
<h4>公式编写</h4>* v- f8 L; n* Q% H
<pre><code class="language-excel">=PIVOTBY(A2:A6, B2:B6, C2:C6, &quot;SUM&quot;): @  X9 r: ^3 x$ h2 H" N! _5 W3 L
</code></pre>$ o3 q# H  ?6 x" O
<h4>参数对应说明</h4>7 \$ t. l$ S1 n& ~/ K/ J: c
<table>
0 _7 w8 g5 J% k7 ~+ p<thead>
: O  t) ?( f9 k9 k<tr>
/ N2 H: h4 q7 v! u- S# o& k<th>参数</th>( {* \$ q& y6 n) q# Y
<th>取值</th>
7 O6 T. T- _% L2 F9 B" {$ m* ^& x* C<th>作用</th>" E# T) Y' g9 ~# m
</tr>
: K8 ?, A' }# x, i</thead>/ w$ U' r2 [# C1 @9 W0 D
<tbody>
0 @; w" M1 P* ~$ ~: L" N+ u<tr>
6 u) X3 r7 i5 j6 l* s5 c6 [<td><code>rows</code></td># G# M9 V2 t# I3 y
<td><code>A2:A6</code></td>
$ M5 {) V. k) J  ]1 x<td>行标签:部门(销售部/技术部/市场部)</td>2 g7 X6 M7 k5 e% Q) U3 g6 g* d
</tr>$ ]" y  K6 F! c5 c  Z5 q3 L
<tr>- F2 ]: o/ T. a* o$ v3 e
<td><code>cols</code></td>& r! W  o; `4 O% O0 [5 M
<td><code>B2:B6</code></td>
+ o9 P3 m9 I" Y' f4 Y<td>列标签:季度(Q1/Q2)</td>
. F4 _9 Z  ]& v) p& P) k</tr>
% n3 v! ^. W2 J* p; w4 ^<tr>
6 y4 R" a5 H& q6 i7 c; s$ G6 Z<td><code>values</code></td>* a) p4 v0 D  T: n% i
<td><code>C2:C6</code></td>/ J2 K0 h* q! P/ [  [3 }
<td>值区域:销售额</td>% O& E2 W3 _: t) I# f% `
</tr>) B# `! l( r0 D! B- a5 v: e9 R' }
<tr>: C- _, h0 Y: Q3 u9 _2 K
<td><code>[agg]</code></td>% Q, `( J+ W3 v) ?+ Q9 W$ b
<td><code>&quot;SUM&quot;</code></td>- s$ ?4 W$ u5 F) F, e( k
<td>聚合方式:求和(默认可省略)</td>
4 s* h# W: N  z5 [/ r2 y+ Q) e% T$ l</tr>
# w$ x# l$ |( e$ ?1 t& R</tbody>7 E  ^9 c3 s' D7 V/ _' k
</table>( v' ?' M- ?2 z5 }4 f
<h4>溢出结果</h4>
5 l+ E/ t9 l8 k) I<table>) G; t: ^5 b$ a, z5 G% I' ^- R# g
<thead>) b0 h; Z* M" y7 K9 a
<tr>2 A/ v5 d" a3 c. m8 Q8 A
<th></th>4 N4 g$ x  t& [7 a5 P' O% O
<th>Q1</th>" X% @; B1 C" t4 D6 W  M  l
<th>Q2</th>
9 a0 d* l% b) y% E; T</tr>
) F2 o) O0 R4 M8 m, g' {</thead>/ u, Q4 @5 A/ x0 U6 F2 Y% C, L) h
<tbody>
* d; f8 R" t% i<tr>) G4 z" f% k6 f8 b5 g
<td>销售部</td>2 C! V. x1 X5 G7 B
<td>10000</td>
$ \; E% {6 {: G) L# i1 U! i$ E<td>12000</td>
, v. ?+ s2 U" {2 x</tr>( w6 `% }; s4 J' O; g- B/ k1 K
<tr>' t4 C, U$ j# v5 U. W3 N! r) R& g0 h
<td>技术部</td>
3 r% A5 L6 m( X; g, q<td>8000</td>  L! R0 ]7 A2 \( e5 Y
<td>9000</td>/ a) N7 q$ Y2 `3 V1 |
</tr>' d& b( ~/ c4 w1 S! R
<tr>4 S# \6 B, q8 A4 T- K" I& N
<td>市场部</td>  J% M8 X8 P7 z
<td>5000</td>, @+ B0 q2 n2 P
<td>2000</td>
0 W5 ^. A. V* `. e" p</tr>6 }/ `- a; k* h6 c9 P
</tbody>" p  r4 u& P- s! I* \' \1 f
</table>9 G# E7 h% {% N) r
<h3>场景2:无列标签(仅行维度聚合)</h3>* M$ w  ^0 b3 F; q7 n
<p><strong>需求</strong>:按「部门」分组,统计<strong>总销售额</strong>,不按列拆分。</p>3 `" F5 s( n+ c
<h4>公式编写</h4>
* f" X+ {1 z7 e5 D<pre><code class="language-excel">=PIVOTBY(A2:A6, &quot;&quot;, C2:C6)2 k+ V0 ^  M0 U& D2 L9 L
</code></pre>$ f  X* c3 d. z; W- B, l
<h4>关键参数:<code>cols=&quot;&quot;</code></h4>& z1 l7 x. a) ~0 J8 L# w, w
<p>表示不设置列标签,结果仅输出「行标签+聚合值」两列。</p>5 E) V: y5 C& k2 g$ V4 Y
<h4>溢出结果</h4>0 y! f& c9 \+ W* B- P4 I
<table>
6 `, S, U3 m$ K" |2 U<thead>
0 s5 X1 W# j( v- C5 t0 s5 |<tr>
' b) s* B- A9 a& y3 m& C<th></th>
' G' P; U; X# v& I0 Z! Y2 L<th>销售额</th>7 u: ?2 X5 b8 q/ W& g1 m# w' H
</tr>  @0 C) |4 `% R8 r( _
</thead>- a" F7 [: y5 k+ d' l( K6 T. W, _; w! X
<tbody>5 a7 N; [5 o* X1 p7 n. E, f
<tr>
, j# k, S! p$ L<td>销售部</td>
5 Z5 ]* ]$ r/ n  X9 `<td>22000</td>
- P1 A3 W9 N# `8 l2 U' D</tr>
% p1 c# N9 L: T* x" W: W4 f8 t<tr>6 |  ]5 p# ?2 h, O4 j1 ~7 a. ~" ?9 A
<td>技术部</td>% [: a4 }: z+ a; {
<td>17000</td>
. O- a2 Q; E2 @0 N9 `$ t# r! E/ |" I</tr>
6 a0 U6 I1 o- v5 V; b  L<tr>' n3 S9 k% R: C) j5 R: A
<td>市场部</td>1 z% v: q1 }/ R) K0 A" @+ y
<td>7000</td>
' V7 F! ?" m6 r7 f# K+ j0 X3 M</tr>& {" r2 ~& J6 C4 W
</tbody>0 l# w. u; H$ h1 [
</table>$ r3 w7 x2 g! B; \3 H2 w
<h2>四、中级用法:多维度分组与总计配置</h2>" v( V9 E6 d0 N6 a* {3 c
<h3>场景1:多行/多列标签 + 多值聚合</h3>7 e' {) y5 \1 K" D% `( U
<p><strong>需求</strong>:按「部门+季度」双行标签,无列标签,同时统计<strong>销售额总和</strong>和<strong>利润总和</strong>。</p>, ]' M  u8 ^: m( ^
<h4>公式编写</h4>
. D8 T/ h" ^2 e+ ~. R, N( p) Z<pre><code class="language-excel">=PIVOTBY(HSTACK(A2:A6, B2:B6), &quot;&quot;, HSTACK(C2:C6, D2:D6), &quot;SUM&quot;)2 E! ]% d) j* v) q6 k6 F* P) E
</code></pre>% U4 Z7 S! t; F. b2 s7 F, Q
<h4>参数核心技巧</h4>
( i9 P! t7 H& f# D* x<ul>
/ C8 U" _7 b: e- e- l<li><code>rows</code> 用 <code>HSTACK(部门, 季度)</code> 实现<strong>多行标签</strong>;</li>. s$ A2 \1 l* T
<li><code>values</code> 用 <code>HSTACK(销售额, 利润)</code> 实现<strong>多值聚合</strong>;</li>
0 V7 |# `1 F6 W' D* J. s7 x<li>聚合方式 <code>SUM</code> 同时作用于两个值字段。</li>7 J& i% _  t' l3 P
</ul>
/ x* n5 s8 ~. d<h4>溢出结果</h4>
6 I+ ]! s9 @- R4 \<table>; D6 W9 f0 V+ b
<thead>
$ _0 c- m* A7 X) M2 R% h<tr>
$ G3 U9 m9 v( A& u<th></th>
/ M2 M; f/ w: F5 K% ^# f' g<th></th>! }6 I% v$ F* h
<th>销售额</th>
6 w1 Q0 Z: C9 J7 _- d) Z<th>利润</th>
3 p" M( u9 ?4 `2 t/ J$ d8 c1 e  ^$ c  Y</tr>
# q8 x! c7 d/ O</thead>  D" i! R. m# V$ {
<tbody>
% D- E0 D2 o. V6 V' B6 L<tr>4 u2 W3 E) U, J2 f( W7 n
<td>销售部</td>  e' ^: D6 _' z6 X7 {
<td>Q1</td>$ h" G4 }- r! O( M& c! k: N
<td>10000</td>
6 f/ s+ v+ `" }' B: O! }, p# T% A<td>2000</td>7 v, w( f; M8 b
</tr>
. c+ m+ ?. t7 \" f5 x8 b. B<tr>. B; b& W1 {& x) R/ p
<td>销售部</td>  p9 L: n+ g/ P9 U9 {) h0 V0 u
<td>Q2</td>
+ c' z/ Q, i3 Q<td>12000</td>+ d" N) J2 y" O. \+ g
<td>2500</td>
4 ]0 v2 K9 A' z2 S</tr>
8 Q, v5 \, ~' V<tr>
& L4 ~+ k/ _1 D<td>技术部</td>
/ m) c# {3 r8 \$ O% g1 z5 W$ J; f<td>Q1</td>
, b: f3 k* J; R4 T6 C<td>8000</td>0 }2 ~6 I% ]& E; p" ?" B1 \
<td>1500</td>
/ U' ^) c, l& W</tr>, h$ [6 U8 a# O9 U& T3 w2 W$ M
<tr>
0 n% y8 D# A3 h! Y! ?<td>技术部</td>
# m5 U3 C& ?# T) |1 Z7 n<td>Q2</td>6 a% C( Q$ [5 \
<td>9000</td>/ X- y% K& D2 N) `/ h
<td>1800</td>: {' S, M: M# v1 t! F+ w/ U* i
</tr>! g' w% H8 J( `2 L5 ~
<tr>
: ^  x' r5 S9 W9 z3 U$ u) k<td>市场部</td>1 h3 ~  b- `: A) e
<td>Q1</td>" Q2 d  K) k! f
<td>5000</td>. b8 ], z7 D1 R: W- |
<td>1000</td>
% d; b# M. T7 H1 r4 f2 _</tr>
; d9 n2 p6 N* n0 E8 _<tr>
% e) M2 X7 L' B8 @4 e3 f<td>市场部</td>! O. p, j6 E/ k9 t- h% T3 s$ w
<td>Q2</td>0 E8 B9 Y, M/ i! X  R: l. f
<td>2000</td>
4 G0 C2 M( [# \/ e<td>300</td>
( _7 {/ S# y, |- a& T9 ~3 G. c</tr>* H6 n8 T4 S* W* u9 K
</tbody>
) H/ `6 j: j$ i: X! W  B3 a- ?</table>
& V- {5 o8 M9 j2 u% L<h3>场景2:添加行/列总计</h3>
5 @3 q: ?& ]& O) r3 o# ~* x<p><strong>需求</strong>:按「部门」行标签、「季度」列标签统计销售额,同时显示<strong>行总计</strong>和<strong>列总计</strong>,自定义总计名称为「合计」。</p>
% {: U( p6 A7 |2 i6 B, E6 [% @<h4>公式编写</h4>& S: j; r  T# L& q8 `2 U
<pre><code class="language-excel">=PIVOTBY(A2:A6, B2:B6, C2:C6, &quot;SUM&quot;, &quot;合计&quot;, &quot;合计&quot;)2 b* T1 W# {; t
</code></pre>
4 G4 A8 r9 n: S3 f3 q. J. I<h4>参数说明</h4>
2 u% H9 w* n" Z, {$ \. R( p% l<ul>
: P. `1 A7 O2 z- _4 ?+ X2 n<li><code>row_total=&quot;合计&quot;</code>:行总计标题为「合计」;</li>) d5 q+ A9 i9 r/ \; o
<li><code>col_total=&quot;合计&quot;</code>:列总计标题为「合计」。</li>8 C* Y8 E9 [7 G* g) P
</ul>
. G* B! N: d* v<h4>溢出结果</h4>
) j8 l9 m0 c# b1 e<table>
# ^# w9 P; e! B/ g( x" @& U# F<thead>
& h6 ?: K) `: }3 p3 F3 d1 Z<tr>, p( w4 o4 [  G
<th></th>
* O1 Y+ a6 k5 A$ D- A4 @  w& g( D<th>Q1</th>
4 [9 W$ A9 }8 }, w2 v9 |: I<th>Q2</th>  m5 N8 D" k7 v/ |; Z! T, N9 K
<th>合计</th>3 H) }  E2 J5 u! p! n* i8 B
</tr>: S' P' G) \; ~8 m: j  X/ c4 s
</thead>
! t- x+ }7 `. |( Q8 a0 ^<tbody>
5 N8 j, i" e, T; B' `& V' ]<tr>
8 {5 e9 l8 M8 g" G" s: ^<td>销售部</td>
2 D# q  N$ \* U* a<td>10000</td>
! i- U/ r( ]' n, Q6 Z) Y- d. j<td>12000</td>
1 y8 V) h1 F# d& H4 ?5 U6 n3 |<td>22000</td>
7 \+ M" r% B( S  ?! {% g</tr>0 e8 T7 d  m/ Q
<tr>
$ K% ~" ~7 l1 h1 L: j+ |# q8 v<td>技术部</td>
( a( E5 ^5 d0 X6 P+ R0 o9 e7 K<td>8000</td>+ C8 e7 w. a7 W  T! l# [9 W
<td>9000</td>
, E! i) F. Y% f) E/ t<td>17000</td>0 z. z9 T5 }1 m" ?9 j0 @" q" K7 y
</tr>' Q, Z! c$ H% C) K" o; C. O
<tr>
3 d* o, Z  {$ T<td>市场部</td>
' y$ @; Y; n7 ?: Z4 D. L<td>5000</td>. D, j  ?! ?- t* i6 h  Y
<td>2000</td>
  v0 R9 D! K5 H2 V" J/ D2 O<td>7000</td>+ {6 y  Q8 K; O: b/ n
</tr>; R" ~/ X3 x- ]0 l5 s8 \
<tr>
% Z: w8 G2 t! o5 H0 g<td>合计</td>
/ g; a, a( C* {6 l/ @/ C# ]9 W<td>23000</td>
' g! f/ z3 U' B8 Z<td>23000</td>/ b4 \$ {, S, f' j
<td>46000</td>
0 _( n$ ~1 U1 }4 L</tr>/ P  }* S1 u6 L3 Y+ B  h
</tbody>7 X- x- ]! q: [) N- o
</table>+ S* _* \/ d0 ?6 `" g7 |# _3 ]
<h3>场景3:保留空行列(<code>drop_empty=FALSE</code>)</h3># [- l- z2 @, h+ @' u. ?8 {' \
<p><strong>需求</strong>:若数据源存在无数据的分组(如“市场部 Q3”),保留空行显示。</p>
# G0 v) Q( c; I& u# O6 u! ^# _<h4>扩展数据源</h4>5 M; c: ]$ ^# m, u) F. F5 W
<p>在原数据后添加一行:<code>A7=市场部, B7=Q3, C7=&quot;&quot;</code>(销售额为空)。</p>
3 ]6 T8 a1 L2 _/ L5 H0 ]<h4>公式编写</h4>
- Q6 h% k9 H, a<pre><code class="language-excel">=PIVOTBY(A2:A7, B2:B7, C2:C7, &quot;SUM&quot;, , , , FALSE)( Y3 ~. M1 r8 J$ R
</code></pre>
# G7 }- a7 A7 Q" J+ X: d<h4>关键参数:<code>drop_empty=FALSE</code></h4>
5 e- D, b1 s3 C4 A/ k1 @# ~<p>强制保留无数据的行列,空值显示为 <code>0</code>。</p>
* [- t  P! W2 q' v9 }9 ]<h4>溢出结果(新增Q3列)</h4>
: R5 y9 R! s! e6 d3 d( p<table>
9 ^7 D2 c( P5 p9 W<thead>6 C% `, u* N& h# b" ^  Z
<tr>
& R! Z2 _% p7 N. Z' ?$ j4 Y<th></th>
2 f8 k7 T4 ^4 p7 a. @  F# r<th>Q1</th>
# {- |6 @& g! O  p) P<th>Q2</th>
* Z8 s% L& p: ^<th>Q3</th>4 U# o% g$ F9 Z+ W9 e
</tr>+ b! ?- K8 f6 x" A
</thead>' V+ Y; i1 |' S# f$ d# L
<tbody>/ n9 J$ m& P3 ^) ^
<tr># B! {2 r7 w9 v3 U& e0 C  f
<td>销售部</td>
) S/ S' |/ G( k) C8 R<td>10000</td>
" \, D$ S# R, q, N0 V  H4 M<td>12000</td>; q4 x' r5 V9 I# I% a7 ~
<td>0</td>
5 j2 t" G( [2 [4 h</tr>& Y. }6 l) ~6 m
<tr>
  J6 i% A; y; L, O<td>技术部</td>
9 A8 y2 ]4 Q/ F! r" a1 P8 w; j2 [' }<td>8000</td>
  b$ A7 r' @2 @( ]<td>9000</td>
9 c$ M& t5 Q! z' y0 V( Z* ^* ^* |<td>0</td>
0 g) v2 E9 a+ v  _</tr>
5 e/ J. ^1 v, d, {$ M" g" E2 c" F<tr>- q3 L0 c% P2 [+ c- J% U- w; i$ _
<td>市场部</td>
7 h# Y9 P2 l" n<td>5000</td>% ^: y  y" }- m* V
<td>2000</td>
$ Q4 F8 U$ b: m- T<td>0</td>
, H' s! b, j# b# {</tr>
* A! q# h7 t  D, x3 x% g</tbody>
- S6 O% @* N+ O</table>$ \) M. }* X& v! I
<h2>五、高级用法:筛选、自定义聚合与函数嵌套</h2>
* X  R* ?/ C! }* X8 c<h3>场景1:结合筛选条件(<code>filter_array</code>)</h3>+ D* \& V& a% F0 m$ ^
<p><strong>需求</strong>:仅统计<strong>销售额&gt;6000</strong>的记录,按部门和季度透视销售额总和。</p>
; w% J/ d2 \/ U6 d8 V" ~$ }  d<h4>公式编写</h4>* f& a7 j  Q9 D
<pre><code class="language-excel">=PIVOTBY(A2:A6, B2:B6, C2:C6, &quot;SUM&quot;, , , C2:C6&gt;6000)
& ]" X" O  H/ T; q9 @</code></pre>3 Z' J- x; J& ]( W/ u- v
<h4>参数核心:<code>filter_array=C2:C6&gt;6000</code></h4>
% S- `" _& f9 ~; i3 m9 E<ul>5 }6 [0 t. p9 S9 n
<li>生成布尔数组:<code>{TRUE,TRUE,TRUE,TRUE,FALSE,FALSE}</code>;</li>* G& f! n5 l6 o$ ]8 @" Y' x
<li>仅保留数组中 <code>TRUE</code> 对应的行(即销售额&gt;6000的记录)。</li>
& T% `- V2 z8 h  r</ul>0 [% ~8 W; i1 t  X. G
<h4>筛选后数据源(实际参与计算的行)</h4>0 u# ]: [) Z( o1 D. p
<table>6 N& ^0 I. _. k$ \: m0 Q# N
<thead>6 G8 d0 k+ r" e2 N: p& r# ^
<tr>
/ Q# H0 R1 C/ v& k<th>部门</th>( }9 ?# z2 N$ b: l  j. p! l
<th>季度</th>7 i- ~6 a3 ~) r3 o- Z
<th>销售额</th>
0 A% z2 z# e& ~& r! ~; I</tr>& G  E. P5 \7 |' _# B: y+ g. m
</thead>& B& Q* Y9 I" j* T( x
<tbody>
* N8 C0 ~7 O$ y<tr>
" Y6 W4 P! w9 B<td>销售部</td>
3 p5 ^3 {9 ^6 i, P8 D& {<td>Q1</td>$ q6 o' b2 A, c, t, I  p
<td>10000</td>
& x- E- T% R( f- v8 y</tr>
' ~8 s! ?1 Y. _9 G# Y; ]$ l<tr>
) f% P2 z& Q$ }5 R8 g<td>销售部</td>  x% t2 G4 s! R& H* B/ S% i
<td>Q2</td># y" V* m% q# g0 ?8 B" U4 ]3 |
<td>12000</td>1 h$ Z5 I; v% V8 \4 X
</tr>
$ k. t% _7 c: o0 r<tr>2 Z  @' C* {8 [" O, Y
<td>技术部</td>: b3 I- r  F9 ~* h
<td>Q1</td>1 R& X* Q5 q( o/ r! o/ @
<td>8000</td>! C! D2 \! C" ]- z7 t# ^( N
</tr>/ y+ t" }! a! c) ~  T% b* X
<tr>$ ]5 A/ ]! \9 \- G3 u$ E4 W
<td>技术部</td>
2 e# q1 j8 i+ f8 d5 D3 H% r<td>Q2</td>
5 n. H3 B3 }, A# t5 H1 p: S<td>9000</td># F3 T; q1 U5 `8 l# K
</tr>
, b* f# Z, K5 `7 @- K! D</tbody>
7 n4 A7 X/ i- C3 v5 A& z( x/ b, F( ]</table>
9 i7 x$ Y# X/ r, a' c<h4>最终溢出结果</h4>/ H5 r4 `5 c2 g1 {5 L$ Y: B, @
<table>
5 Z! Y9 ?, B- x* R<thead>
  Y. i, V$ y3 A- N2 W( ]3 b<tr>! S6 J, B3 m* {$ r# f9 x/ U7 }% l# U* a
<th></th>
8 C  N. h8 n, _6 u" f<th>Q1</th>6 \" c- ?+ ?/ N& p8 q7 A
<th>Q2</th>! w9 S) x6 Q" w  j
</tr>2 x9 E; `9 J( W2 z5 F# X
</thead>; F) ?5 u1 I2 n: `- D; a
<tbody>
% A& A! y/ \. x+ F8 D<tr>5 R' |5 A  P8 [6 y5 C
<td>销售部</td>9 `+ M2 i$ `4 v/ E% Z& R6 h
<td>10000</td>
4 P9 N5 S3 v8 O* Z) Y<td>12000</td>4 o9 k; I# v! \/ D' N. c" }7 S3 t
</tr>1 d9 p) c" O2 R
<tr>/ ]; @0 _# [/ R
<td>技术部</td>
6 x7 m" t4 t. a( e" x" B" V% Y<td>8000</td>
5 p! q' x0 m' d+ y7 z+ {<td>9000</td>
, q5 O' O( S  O( l8 l/ Q. k) ]</tr>
& K! q/ k8 [" J7 ]# t) [7 U# D</tbody>' }% V7 J3 C+ @) l
</table>
: Y% K  |! l0 I# W<h3>场景2:自定义聚合函数(<code>LAMBDA</code> 实现非内置计算)</h3>
) ~9 k9 b0 A' @$ h: e2 ?<p><strong>需求</strong>:按部门分组,计算<strong>销售额的标准差</strong>(内置聚合无此函数,需自定义)。</p>; ~4 C7 F6 ^7 q: M
<h4>公式编写</h4>
8 |+ t' z2 {" k) l<pre><code class="language-excel">=PIVOTBY(A2:A6, &quot;&quot;, C2:C6, LAMBDA(x, STDEV.S(x)))% n) P3 @4 k: r2 {+ w- o8 v4 y4 |  q! O
</code></pre>1 U+ a3 E7 C  E4 C& b
<h4>参数核心:<code>agg=LAMBDA(x, STDEV.S(x))</code></h4>
5 @2 ?/ C, w( g: S: `<ul>7 P3 R4 G1 m$ D9 P9 ~* Z( w5 ]
<li><code>x</code> 代表每个分组的数值集合(如销售部的 <code>{10000,12000}</code>);</li>
5 M( L6 G3 Z2 G) L<li><code>STDEV.S(x)</code> 计算样本标准差,可替换为任意自定义逻辑(如 <code>MAX(x)-MIN(x)</code> 计算极差)。</li>
1 I% s* m- q; O* _2 p* ?</ul>( P2 w, b/ w4 \! o' g! S
<h4>溢出结果</h4>
) N0 P0 Q9 J5 T- p6 E( M, B4 R<table>
) E1 e( J. m  c% b) Z: \8 ^<thead>! V* K' [& e5 m% B
<tr>
9 Q0 |  q3 t4 A3 U0 P<th></th>
4 w6 L$ P: r4 W5 X6 ~. v6 |<th>销售额标准差</th>! k& J8 e; ^; o; Y; E
</tr>% c& F2 W. Q: z3 v
</thead>2 M+ H4 S4 u- n% A  x- s6 p
<tbody>1 a6 `2 T( b4 q0 L
<tr>
. u% H% w9 H! t. K2 U<td>销售部</td>
) M" e  B( k# m: C: z<td>1414.21</td>* X% C. N& t6 F7 C% W* n3 ]
</tr>
/ T3 T. A$ j7 h' X. S: d<tr>( t* m% o5 {3 k( u: f& L
<td>技术部</td>0 N  {  t0 K7 L+ e  [3 U! ~/ u1 g
<td>707.11</td>
: j, M, U2 X- E; N) t* W& B* J# v</tr>2 `: O6 @* ^3 s( {+ [# u
<tr>
8 f: ~- x1 l, d: f9 D1 B<td>市场部</td>
" ]. D0 @" S5 P+ K$ T# m; ?( I' w<td>2121.32</td>
0 x) C* u1 K8 R5 ]</tr>
3 s3 J) O; b* e$ p$ u; m7 h</tbody>
! J! s4 ~7 Q& c/ G/ J' u8 F- t</table>
1 S8 {3 Q, o/ Y0 }<h3>场景3:与 <code>SORT</code> 嵌套,对透视结果排序</h3>% j5 T- N' y. {' l3 }7 d
<p><strong>需求</strong>:按部门透视总销售额,并按销售额<strong>降序排序</strong>。</p>8 {" G) t9 w" C3 F* b9 t
<h4>公式编写</h4>
5 B5 r( @6 u; |) f2 ?<pre><code class="language-excel">=SORT(PIVOTBY(A2:A6, &quot;&quot;, C2:C6), 2, -1)3 u% z) l1 q6 s. p
</code></pre>
, N5 f7 \5 G8 J0 t  W7 @& i* l<h4>嵌套逻辑</h4>
  G0 _- a4 @3 ^, ~) ?) _<ol>
9 D# V1 H1 N4 [<li>先用 <code>PIVOTBY</code> 生成基础透视结果(2列:部门+销售额);</li>
$ k  f- ~6 i/ V0 W5 j* W7 A2 [: M<li>再用 <code>SORT</code> 函数按<strong>第2列(销售额)</strong> 降序(<code>-1</code>)排序。</li>
3 c8 t' ~) B- n4 h8 A</ol>" l  C0 P0 c% ^! S  X. ?
<h4>排序后结果</h4>
7 w& G( M  C# ?9 l<table>' ?) @4 E0 v9 |! }8 ], N% ]
<thead>7 y2 [$ p3 j9 t( l. E' T
<tr>! @+ U( y- k: v3 H3 T6 i" D5 r5 Z5 g
<th></th>
' M/ A% `9 o8 a6 O, p- _- ~* t<th>销售额</th>
4 n3 v: {5 {9 ^/ P</tr># m8 j; j8 T( A* i4 q. \5 c
</thead># T* k9 U8 q" H
<tbody>5 f$ z1 E& d' y! f
<tr>3 Z" l# h  K9 B: U$ o3 q4 w$ \; w
<td>销售部</td>
6 n2 L' @6 F9 y<td>22000</td>( o5 F: A5 Q+ o2 R6 [
</tr>
* \$ k5 a9 H) v8 a5 V<tr>
* K: \: P) \1 T* J3 }- d<td>技术部</td>
( b4 Q3 p0 m/ J& r6 _<td>17000</td>
- d$ k# m3 ]+ m1 i$ P; c- n</tr>
6 Q' N4 ^& x! b& Q<tr>+ y* K' Y- B8 W' k  G, @
<td>市场部</td>7 d9 S& B$ B' \, c7 h& j
<td>7000</td>
8 M0 W$ [9 |: }% F" W# B0 @8 u; X+ ~, J</tr>
) C: s! f" {; t- i- U9 t</tbody>' z' I- N% B$ h3 @4 A1 m1 m
</table>
9 H6 u' U5 |# o0 \<h2>六、常见问题与注意事项</h2>
' r2 J' T/ ?% S  `% s/ }) D9 @<ol>
0 X% ~& b5 J7 y" E  g5 T  H<li># o) h( y9 p' ~  O  k
<p><strong>溢出错误 <code>#SPILL!</code></strong></p>: |, }  {# p% A9 \
<ul>
- Q! v  C& ^3 @3 D3 ~<li>原因:结果区域被其他单元格内容阻挡;<code>rows</code>/<code>cols</code>/<code>values</code> 行数不一致。</li>2 w' O- z' t2 N5 n
<li>解决:清空结果区域的空单元格;检查数据源区域行数是否匹配。</li>
" u! z6 {/ J1 |$ {# g7 f</ul>
) w5 ^' i3 N- J7 n( O, f. t</li>) [3 z0 M% J. O8 O+ D/ C# Y  P
<li>
* p1 b, x+ R& t# ^2 z) \<p><strong>聚合函数不生效</strong></p>3 |1 X& M: N$ Z! _/ J5 K
<ul>$ c' z' U' n: Z% r
<li>原因:<code>agg</code> 参数拼写错误(如 <code>&quot;Sum&quot;</code> 写成 <code>&quot;sum&quot;</code> 不影响,但需避免错别字);自定义 <code>LAMBDA</code> 函数语法错误。</li>
7 J" K- e; }8 b- d* l* j- }<li>解决:核对内置聚合函数名称;调试 <code>LAMBDA</code> 函数逻辑。</li>
/ n! [! U7 g6 K</ul>
3 Z8 B0 o( v9 ~, o</li>/ y* C% L5 ~" l3 I3 W/ V2 }9 S# |
<li>
$ ^8 C# }2 p  F- M. Q<p><strong>多字段分组顺序问题</strong></p>0 C9 o- V# @7 @5 n( D0 B: Z& N
<ul>2 Y* z2 D' ]. o% ^! e
<li>技巧:<code>HSTACK(字段1, 字段2)</code> 中,字段1是<strong>外层分组</strong>,字段2是<strong>内层分组</strong>,顺序决定透视结果的层级。</li>" U6 J" s+ Z, D0 a5 {' L  I
</ul>
/ Q6 `7 Z! s6 E7 \& R</li>9 K* n; E5 t* X6 A# O: v: ~  \
<li>
' ]) h4 |& E. h: O- _4 X1 R1 G<p><strong>性能优化</strong></p>8 h6 J6 T% h$ ?4 a1 T
<ul>3 g# v4 q  j, {
<li>当数据源超过1万行时,避免使用复杂自定义聚合;</li>
) r' t2 c* H, f* o9 Y* ^4 p- ?2 X! F<li>先用 <code>FILTER</code> 筛选目标数据,再传入 <code>PIVOTBY</code>,减少计算量。</li>5 z/ T! m% L( a. r2 k! n1 k
</ul>! y. x/ T$ x5 l1 f
</li>  n% V# A* |6 P
</ol>
" V9 ]2 @. Q5 s  @7 @4 E
141d455481b03db.webp
匠心独运,千锤百炼,品质非凡。
回复 转播

使用道具 举报

评论1

阿白Lv.1 发表于 2026-1-9 09:53:05 | 查看全部 来自:Error
<p>在 Excel 中,<code>PIVOTBY</code> 函数的结果被称为 <strong>溢出结果</strong>,核心原因是它属于 <strong>动态数组函数</strong>,返回的不是单个值,而是一个<strong>多单元格的二维数组</strong>,会自动填充到公式单元格周围的空白单元格中——就像水从一个中心点“溢”向四周一样,因此得名。</p>2 s9 r" \9 K0 n8 a  x
<h3>一、“溢出”的本质:动态数组 vs 传统函数</h3>
" K, |# L$ F/ j<h4>1. 传统函数的局限</h4>
' ?2 f% y! R- n8 d<p>传统 Excel 函数(如 <code>SUM</code>/<code>VLOOKUP</code>)<strong>只能返回单个值</strong>,输入公式后仅在当前单元格显示结果。<br />6 H" x6 Y9 o0 A  F0 N: R+ I
如果公式逻辑需要返回多个值(比如同时统计多个部门的销售额),传统函数会直接报错。</p>
6 r3 ]0 K$ v- ?/ \# o" @<h4>2. 动态数组函数的“溢出”能力</h4>9 ?4 p- \4 f1 x* Y& j' ^3 K
<p><code>PIVOTBY</code> 是 Excel 365 新增的<strong>动态数组函数</strong>,其核心特性是:</p>% c  Q3 T1 c0 f6 I* V! T& |
<ul>
/ k2 q0 F0 m1 E7 G  k<li>计算结果是一个 <strong>二维数组</strong>(对应透视表的行和列);</li># v9 Q$ |0 L9 F! w+ q$ Q
<li>公式仅需输入在<strong>单个单元格</strong>中,Excel 会自动将数组内容“溢出”到<strong>右侧和下方</strong>的空白单元格,形成完整的透视结果;</li>& A  ^9 A7 u. ~% \
<li>溢出区域的大小由数据源的分组数量决定(比如 3 个部门、2 个季度,就会溢出成 3 行 × 2 列的区域)。</li>
* {- c/ q, }/ `: o2 }# y1 w</ul>7 k8 {' h; y. H
<h3>二、结合 PIVOTBY 实例理解溢出</h3>
. [6 O' {/ J' j0 G* f<p>以之前的基础示例为例:</p>
( e: Y& P7 T( K2 }" ^2 r9 X& ~4 n<pre><code class="language-excel">=PIVOTBY(A2:A6, B2:B6, C2:C6, &quot;SUM&quot;)
0 L& S4 Q; U& B' N" b& v/ U8 `</code></pre># H3 v* h# |7 w3 ?) |) e( M3 a4 f
<p>假设公式输入在 <strong>E1 单元格</strong>:</p>5 F, D$ M% [4 P" [! g  r4 ~. Q
<ol>5 _" q- p5 O3 A0 g
<li>函数计算后生成一个 <code>3行×2列</code> 的二维数组:( x5 c9 P/ R, Y: m
<pre><code>{10000, 12000; 8000, 9000; 5000, 2000}
% F: \# U" }$ O* B</code></pre>
2 M0 O' z8 a. ]8 L7 g) _2 w3 n</li>
. o, Z0 U- I2 a7 l# p8 S  e<li>数组会从 E1 开始<strong>向右、向下溢出</strong>,自动填充到 <code>E1:G3</code> 区域:<table>
5 m# w) p) y, n; _<thead># O, X$ Y, o+ |: f$ E1 d3 F+ K
<tr>
, O  m1 K& P3 y4 [& v* I7 n<th>单元格</th># z3 X8 t- P! P& F
<th>内容</th>, R5 V7 s, H1 Y; N
<th>对应透视表位置</th>
+ P$ [7 c7 R+ [</tr>
0 ^. z  _8 V1 p+ W/ S</thead>3 A+ S% ?- ~* ]+ ?* D$ k- w
<tbody>
; z9 }9 X6 T' x( b# [<tr>1 B5 _0 H  I( x1 b) n+ S0 O
<td>E1</td>8 F/ o8 K4 M0 r: e% k: ]  a! d) X
<td>10000</td>4 Z& D, J( h5 g) V; i* E" i# L5 Q+ P8 U3 D
<td>销售部-Q1</td>
5 T2 @. }) Q) X  N</tr>3 }8 X9 s6 T) F( U: Q
<tr>, r! d( X5 b4 R6 X
<td>F1</td>4 R9 O" m; v8 r& `* Y
<td>12000</td>6 L+ \) w3 C' y! Q. y# h7 A
<td>销售部-Q2</td>
/ x0 r9 }( `  `, }</tr>" w2 N: D  X4 f" O* X3 o
<tr>$ D0 L1 P+ N7 X! P5 a! d
<td>E2</td>7 Q. R! W% O1 |8 D( T6 ]. h9 L
<td>8000</td>* v9 i8 b) s* m; H* |
<td>技术部-Q1</td>
# u+ Y+ L% L1 ~</tr>: n/ m5 a1 S7 d. ?# {
<tr># ^/ |9 ?: g! l/ r5 S0 }
<td>F2</td>
6 ]3 a4 g# V& k5 d<td>9000</td>
6 [# p4 g& I( L- I. {<td>技术部-Q2</td>
5 ]2 C5 F: {0 v* M+ S4 D2 b/ S</tr>* P' J" i: M' Q3 D1 r3 L( F
<tr>0 k! r  k, R9 D, `  e$ L& U
<td>E3</td>' l0 |; Z. I5 c8 a1 T* l. A% i
<td>5000</td>
1 i# \  n, S7 `0 S+ Q" ^4 n<td>市场部-Q1</td>
1 a! F: J7 \: c* z2 V</tr>& E; k- b- g% l/ X
<tr>( z% |; F# ?) J" ^/ e8 q& q
<td>F3</td>
2 J' ~. N9 m; o* i% x: ]1 k<td>2000</td>
/ L. I3 V9 t/ S2 n" M% Q/ k<td>市场部-Q2</td>; |0 Y6 @+ m9 U
</tr>
2 H: e1 d+ A0 F7 @$ M3 _* U& ~</tbody>- C+ P5 Q' f! E- \# a9 _
</table>
2 i4 |) f3 s& `% C5 \</li>3 F+ f, R0 \* t
</ol>7 c' z, ?0 V* r: T6 o+ `9 j* c2 q
<blockquote>" I5 V& @0 ]4 l& W: y; v& }) K
<p>补充:Excel 会自动为溢出区域添加<strong>边框标识</strong>(浅灰色虚线),直观区分溢出结果和其他单元格。</p>
/ |. A8 R9 Z  f</blockquote>
6 n5 u* {! r" G  U/ n) p<h3>三、溢出结果的关键特性</h3>7 N2 B5 C& `( r( ?3 I
<ol>
3 @1 M% G2 `9 {7 D<li>/ v& C/ p% E* Y6 f+ q! m: Y9 }
<p><strong>自动适配大小</strong><br />! ^9 a& q+ X/ k5 \$ E0 D
当数据源的分组数量变化时(比如新增“Q3”季度、“行政部”),溢出区域会<strong>自动扩展/收缩</strong>,无需手动调整公式或单元格范围。</p>
1 |$ R6 F: F. p; A4 a; d</li>
6 D5 k! r& ]9 V1 S/ i<li>
* R8 z, x( [" k<p><strong>联动更新</strong><br />
1 ?7 y+ x0 `3 |8 Z# `! B" o7 _/ P数据源的值发生变化时,溢出区域的结果会<strong>实时自动更新</strong>(前提是 Excel 开启“自动计算”模式)。</p>
4 t% K! G9 O0 M& x+ P</li>
/ {. b" u; y; T! [<li>3 D. S6 j: u( G. |
<p><strong>不可手动修改</strong><br />
# M! \2 ?& ?& l) G8 B  s( f+ d溢出区域的单元格是<strong>公式的一部分</strong>,无法单独编辑。如果手动修改其中某个单元格,会触发 <code>#SPILL!</code> 错误,提示“溢出区域被阻挡或修改”。</p>9 w7 T( L6 ^- ~0 ^" U1 q1 J
</li>) k! U7 }3 I" Y+ a/ C% J& _
<li>; V; E$ p$ n8 G
<p><strong>支持嵌套与引用</strong><br />
6 ?' E0 Z6 B$ ~( a, S# k/ t可以将溢出结果作为其他函数的参数(比如用 <code>SORT</code> 排序、<code>INDEX</code> 提取特定值),例如:</p>
1 s* c. f; Z8 c8 c4 [2 A<pre><code class="language-excel">=INDEX(PIVOTBY(A2:A6, B2:B6, C2:C6), 1, 2)9 u6 u) d- x& [5 _
</code></pre>
( A0 z) f1 f. F( L$ w1 M( J/ L<p>公式会直接提取“销售部-Q2”的销售额(结果为 12000)。</p>. N' I2 v' \+ T! l/ |
</li>
/ a1 L& @8 u9 w, l" ]</ol>' t/ ?: e+ ^/ F* u$ w% M
<h3>因此</h3>- Y5 ^& ^$ Z$ L: L' I( S
<p><code>PIVOTBY</code> 的“溢出结果”本质是<strong>动态数组的自动填充行为</strong>,它彻底摆脱了传统透视表需要手动插入、调整字段的繁琐操作,实现了“公式化创建动态透视表”的目标——这也是动态数组函数相比传统功能的核心优势。</p>" G9 r2 u$ R0 \
匠心独运,千锤百炼,品质非凡。
回复

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

您需要 登录 后才可以回复,轻松玩转社区,没有帐号?立即注册
快速回复
关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表