我试图计算当基数(在时间 1)可以为负并且结果数为正(在时间 2)时的百分比变化。
我的问题是百分比从 -4 到 +4 变化。
从 +4 到 -4 的变化报告返回 -200% 的变化。然而,相同的公式A1/B1-1当A1等于-4和B2等于时4也报告为-200%,但它应该是增加200%。
ABS功能并不能解决这个问题。有人为此设计过修复程序吗?
microsoft-excel-2007 worksheet-function microsoft-excel microsoft-excel-2010
我有目录树布局的数据(见图)
基本上我想使用一个查找代码作为参考点,并让 Excel 在相应的列中向上查找以显示“父目录”。
目前,我有一个索引可以准确地告诉我什么代码是什么,但我想设置一个查找工具(请参见下图中的下表),它可以一次显示所有级别。在图片中,我使用公式输入了要返回的值。
因此,如果我输入 4 级代码,我想使用返回 4、3、2 和 1 级程序的公式。对于 3 级代码,我希望它查找返回 3、2 和 1 级程序。
有10,000+行数据。
对我来说似乎很简单......从这一行开始,在这一列中向上查找,直到达到一个值......但似乎并不那么简单。
任何帮助/提示将不胜感激!
-亚历克斯
lookup worksheet-function microsoft-excel microsoft-excel-2013
有没有人知道无需拖动即可填充公式的键盘快捷键或菜单命令?我在 MacBook 上使用 Excel for Mac 2011。
我有一个像这种模式的电子表格,但大约有 5000 行:
A, B, C, D
5, 1, 3 =SUM(A1:C1)
3, 2, 4
...
Run Code Online (Sandbox Code Playgroud)
我知道如何将鼠标悬停在 D1 上并获得手柄并向下拖动,但必须有更简单的方法。
网上有十亿条提示,但我没有找到任何有用的提示。
FWIW,Macbook 对快捷键规则有一些例外,所以我猜这可能就是原因。
但无论如何,有人知道如何做到这一点吗?
PS:我本以为“填充系列”会是一个选择,但不是。这是一张图片。

我想将具有相对引用的公式复制到另一个范围,而不更改公式/更新这些相对引用。我知道有一些付费附加组件可以做到这一点,但我不想为了这么简单的事情而给人们钱。
示例:
A1 包含=C2+B3 (并且正在运行/解析)
将 A1 复制到 X1
X1 现在包含 =C2+B3 (并且正在运行/解析)
我这样做,然后通过替换和其他方式稍微修改公式的新副本。(所以我需要它们的功能而不是粘贴特殊的链接)
目前,我只是替换=为x=,复制/粘贴,然后替换x=为=。多年来我看到人们通过本机 XLS 功能使用更奇特的方式,但我不知道如何使用。我需要同时对数百个不同的公式执行此操作,因此单独复制/粘贴每个公式的公式是行不通的。
/// 还有一个不完整的解决方案需要弄清楚:
将单元格格式更改为文本。现在输入=A1您只得到文本。将格式更改回常规格式并不能解析公式。我们如何解析这些数组以再次开始作为公式工作,而不仅仅是文本?(除了进入每一个并按回车键)
...(对于任何好奇的 Kutools 插件都会这样做 - 完全相同的副本)
编辑:所有答案都很好,但对于大型数据集,宏方法效果更好。尝试所有这些,看看什么最适合你。
我正在尝试在 Excel 中解决这个问题以提高性能(我已经在 R 中完成了,但速度很慢)。基本上,我需要将每个关键字(来自关键字列表)与列中的文本(基本上是段落)进行匹配。这是一个插图:
以上数据均在本题出处,文字形式,适合复制粘贴。
我一直在寻找一些文本函数(如 FIND 和 SEARCH,但它们只返回位置),所以我不确定这是否可以在 Excel 中完成。
我目前在 excel 中遇到了 LOOKUP 函数的问题
有时它会找到正确的数据,有时则不会。
我在下面做了一个图片示例,顶部的两个示例给出了错误的结果,而底部的两个示例给出了正确的结果。
我的语法或使用 LOOKUP 是否不正确?我应该如何纠正它以获得预期的结果?
这是数据的 csv 表(我的德国计算机也在公式中使用“;”分隔符,您可能需要对其进行编辑)
;"LOOKUP(C2;D2:D4;A2:A4)";;;;;
D4;"=LOOKUP(C2;D2:D4;A2:A4)";3400;3400;;;
CI;;;2390;;;
F5;;;900;;;
;"LOOKUP(C6;D6:D11;A6:A11)";;;;;
D4;"=LOOKUP(C6;D6:D11;A6:A11)";3600;900;;;
F4;;;3600;;;
CI;;;2390;;;
D4;;;900;;;
B4;;;2250;;;
D4;;;900;;;
;;;;;;
;;;;;;
;"LOOKUP(C15;D15:D17;A15:A17)";;;;;
D4;"=LOOKUP(C15;D15:D17;A15:A17)";3600;900;;;
F4;;;3600;;;
CI;;;2390;;;
;;;;;;
;"LOOKUP(C20;D20:D27;A20:A27)";;;;;
D4;"=LOOKUP(C20;D20:D27;A20:A27)";3600;900;;;
F4;;;3600;;;
F6;;;3650;;;
F5;;;3700;;;
CI;;;2390;;;
D4;;;900;;;
B4;;;2250;;;
D4;;;900;;;
Run Code Online (Sandbox Code Playgroud) 我正在尝试从单个输入中获取绝对范围地址。像这样的东西。
Formula
=SOME.MAGIC(A1:B10)
Output (string)
"$A$1:$B$10"
Run Code Online (Sandbox Code Playgroud)
我能够得到这个结果,但使用以下(数组)公式非常复杂的方法。
{=ADDRESS(MIN(ROW(A1:B10)),MIN(COLUMN(A1:B10)),1,1)&":"&ADDRESS(MAX(ROW(A1:B10)),MAX(COLUMN(A1:B10)),1,1)}
Run Code Online (Sandbox Code Playgroud)
其中(如您所见)字符串A1:B10使用了四次。
我的另一个尝试是使用 function FORMULATEXT。范围的链接只存在一次,但使用多一个单元格是一种令人讨厌的解决方法,并且仅适用于相对地址相对较好。它不适用于命名范围。
C1=$A$1:$B$10
C2=MID(FORMULATEXT(C1),2,LEN(FORMULATEXT(C1))-1) //Returns string "$A$1:$B$10" ?
But
C1=A1:B10
C2=MID(FORMULATEXT(C1),2,LEN(FORMULATEXT(C1))-1) //Returns string "A1:B10" ?
And
C1=Named_range
C2=MID(FORMULATEXT(C1),2,LEN(FORMULATEXT(C1))-1) //Returns string "Named_range" ?
Run Code Online (Sandbox Code Playgroud)
下一步是尝试 1+2 的组合。它有效,但我对此并不满意。
C1=A1:B10
C2=MID(FORMULATEXT(C1),2,LEN(FORMULATEXT(C1))-1)
C3{=ADDRESS(MIN(ROW(INDIRECT(C2))),MIN(COLUMN(INDIRECT(C2))),1,1)&":"&ADDRESS(MAX(ROW(INDIRECT(C2))),MAX(COLUMN(INDIRECT(C2))),1,1)}
Run Code Online (Sandbox Code Playgroud)
是否有更简单的方法(不太复杂的公式)具有相同的输出?
给定下表,我想找到满足输入x值和给定容差的最高标头编号(由 中 的值J4表示)和伴随的行索引(由 中y的值表示J5):I2J2
正如您所看到的,表中有两个值满足输入值和容差:cellsF3和G3。然而,由于 中的标题行号G2(48) 高于F2(44),因此我们将作为最终解决方案,并打印出和G3中各自的数字。J4J5
我有一个解决方案,使用具有绝对值的中间矩阵并减去输入值。G然后在一个冗长的公式中使用 IF 和 SMALL向后遍历每一行B(非常有限且相当硬编码)。
我的愿望是使用现代 Excel 函数(LAMBDA、MAP 等)将该表转换为记录列表,然后简单地输出相应的值。本质上,将表转换为内存中的记录结构,而工作表中没有中间矩阵,如下所示(G2、G3和 的转换示例E7):
List<Record> vals = [
(36.22, 48, 1),
(69.31, 48, 2),
...
(169.99, 40, 6),
...
]
Run Code Online (Sandbox Code Playgroud)
使用此结构,可以更轻松地找到输入值和容差范围内的第一个值,并输出 x和 yvals.[field1]的相应列表条目。vals.[field2]vals.[field3]
使用现代 Excel 函数和内存计算可以优雅地完成此操作吗?
输入数据可以在这里找到: https: //pastebin.com/JRaA14e8
| 28 | 32 | 36 … |
|---|
这是一个示例表:
| A | 乙 | C | D | 乙 | |
|---|---|---|---|---|---|
| 1 | 3 | B1 | C1 | D1 | E1 |
| 2 | A2 | 6 | C2 | D2 | E2 |
| 3 | A3 | B3 | 0 | D3 | E3 |
| 4 | A4 | B4 | C4 | 2 | E4 |
| 5 | A5 | B5 | C5 | D5 | 8 |
假设在一列中我想对角引用 A1 到 E5 中的值(斜体),我该怎么做。
在专栏中看起来像这样:
| 对角线值 |
|---|
| 3 |
| 6 |
| 0 |
| 2 |
| 8 |