在 Excel 引入溢出范围之前,在“ @”运算符之前,可以将范围“转换”为带有“ 0+”(数字值)或“ ""&”(字符串)的单个值。但“ @”并不完全相同。
假设有一列正整数从 B4 向南;从D2向东有一排正整数;并且 A 列和 C 列以及第 1 行和第 3 行完全是空的。
目的是将一个单一的溢出公式放入 D4 中,引用类似$B$4#and 的东西$D$2#,当列整数大于行整数时,计算两个整数的成对最大公约数。每个所需的溢出单元都是只有两个整数的成对GCD 。
所以一个候选公式是:
= IF($B$4#>$D$2#, @GCD(@$B$4#, @$D$2#), "·")
Run Code Online (Sandbox Code Playgroud)
唉GCD看到两个数组参数,而不是从两个数组中提取/相交的两个值,因此计算所有这些整数的 GCD,不可避免地返回1. 叹。
事实上,接下来的几个甚至不会溢出。
= @IF(@$B$4#>@$D$2#, GCD(@$B$4#, @$D$2#), "·")
= IF(@$B$4#>@$D$2#, @GCD(@$B$4#, @$D$2#), "·")
= @IF($B$4#>$D$2#, @GCD(@$B$4#, @$D$2#), "·")
= GCD($B$4#, $D$2#)
= GCD(@$B$4#, @$D$2#)
Run Code Online (Sandbox Code Playgroud)
请提出建议。
(Mac Excel 16.32 (19120802) — 希望这无关紧要。)
谢谢你。
微软即将为 Excel 发布一个新的“溢出”功能。在发布时,这在当前版本中不可用,但内部人员可以使用它。
是否有一种“简单”(非 vba 或条件格式)方法来动态格式化溢出范围?示例(如本文件所示)是如果用户更改了驱动溢出范围的单元格,溢出范围是否可能包含某些格式?此外,如果列表缩短,我希望格式采用空白单元格格式。
在示例中,我尝试为列表使用某种灰色格式(输出单元格的样式)。如果你四处修修补补,你可以看到好的/坏的结果。
我意识到数据透视表可能是更好的方法,如果我忽略了某些东西,我只是从学习的角度更好奇。
我在 Excel 中使用新的动态(即溢出)公式。我想要一个动态数组,它是另一个动态数组的累积或运行总数。
假设我有以下动态数据A1:A8:
12
20
14
13
12
13
26
11
Run Code Online (Sandbox Code Playgroud)
在这个数组中找到差异是微不足道的:
=OFFSET(A1#,1,0)-A1#
8
-6
-1
-1
1
13
-15
-11
Run Code Online (Sandbox Code Playgroud)
但是如何使用新的动态公式获得运行总数?
12
32
46
59
71
84
110
121
Run Code Online (Sandbox Code Playgroud) 我有当前的公式
=LET(
rad, ROW(C2),
sumArea, SUM(INDIRECT(ADDRESS(rad,3)):INDIRECT(ADDRESS(rad+5,3))),
result, sumArea/INDIRECT(ADDRESS(rad+6,2)),
result
)
Run Code Online (Sandbox Code Playgroud)
它计算单元格 B7 中的值与更改列 C 的五天变化。在给出参数时它完美地工作ROW(C2),但我理想地希望它能够处理溢出,因为 C 列本身已溢出。当我给出参数 时ROW(C2#),它确实溢出,但在每个溢出结果中返回一个值错误。
是否无法以这种方式使用 LET 函数,或者我可以更改某些内容以使其工作?我很感谢我能得到的任何指导!:D
样本数据:
值-28.6% 是通过取 计算得出的SUM(-2,2,2,-5,-1)/14。
当获得此问题的公式解决方案时,插入行以使用标题分隔数据组,我尝试从溢出结果中删除第一行和最后一行。
这是使用的数据:
| A栏 | B栏 | C栏 | |
|---|---|---|---|
| 第 1 行 | 位置 | 物品 | 数量 |
| 第 2 行 | p1 | 帽子 | 2 |
| 第 3 行 | p3 | 帽 | 3 |
我开始于
=DROP(
REDUCE(0,ROW(A2:C3),LAMBDA(x,y,VSTACK(x,A1:C1,INDEX(A:C,y,),{"","",""}))),
1)
Run Code Online (Sandbox Code Playgroud)
然后,我不仅想删除 REDUCE 函数的起始值,还想删除最后一行,该行始终为空白。
为此我尝试过:
=DROP(
REDUCE(0,ROW(A2:C3),LAMBDA(x,y,VSTACK(x,A1:C1,INDEX(A:C,y,),{"","",""}))),.
{1,-1})
Run Code Online (Sandbox Code Playgroud)
我期望{1,-1}数组能够完成它(1对于它的第一行和-1最后一行)。然而这导致了:
我无法理解这种行为,所以我在更简单的范围和/或数组上尝试了它:
在A1我用过=SEQUENCE(3,3)
直接做同样的事情:=DROP(SEQUENCE(3,3),{1,-1}),给出了另一个结果:

有点有趣:=DROP(SEQUENCE(3,3),{1,1,1,1,1})
结果是{4,4,4,4,4}
我知道我可以使用 DROP 两次来获得所需的结果,但我无法解释这种行为。
这是因为数组的第一个参数改变了数组/范围的大小,而 Excel 无法在同一计算中引用它?