标签: worksheet-function

当基数为负数时计算百分比的任何技巧

我试图计算当基数(在时间 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

5
推荐指数
1
解决办法
4万
查看次数

如何从指定单元格向上索引匹配直到非空白

我有目录树布局的数据(见图)

基本上我想使用一个查找代码作为参考点,并让 Excel 在相应的列中向上查找以显示“父目录”。

目前,我有一个索引可以准确地告诉我什么代码是什么,但我想设置一个查找工具(请参见下图中的下表),它可以一次显示所有级别。在图片中,我使用公式输入了要返回的值。

因此,如果我输入 4 级代码,我想使用返回 4、3、2 和 1 级程序的公式。对于 3 级代码,我希望它查找返回 3、2 和 1 级程序。

有10,000+行数据。

在此输入图像描述

对我来说似乎很简单......从这一行开始,在这一列中向上查找,直到达到一个值......但似乎并不那么简单。

任何帮助/提示将不胜感激!

-亚历克斯

lookup worksheet-function microsoft-excel microsoft-excel-2013

5
推荐指数
1
解决办法
8755
查看次数


无需在 Excel for Mac 2011 中拖动即可向下填充公式

有没有人知道无需拖动即可填充公式的键盘快捷键或菜单命令?我在 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:我本以为“填充系列”会是一个选择,但不是。这是一张图片。

照片

keyboard-shortcuts worksheet-function microsoft-excel macos

5
推荐指数
1
解决办法
3万
查看次数

如何原样复制多个相对公式?

我想将具有相对引用的公式复制到另一个范围,而不更改公式/更新这些相对引用。我知道有一些付费附加组件可以做到这一点,但我不想为了这么简单的事情而给人们钱。

示例:
A1 包含=C2+B3 (并且正在运行/解析)

将 A1 复制到 X1
X1 现在包含 =C2+B3 (并且正在运行/解析)

我这样做,然后通过替换和其他方式稍微修改公式的新副本。(所以我需要它们的功能而不是粘贴特殊的链接)

目前,我只是替换=为x=,复制/粘贴,然后替换x=为=。多年来我看到人们通过本机 XLS 功能使用更奇特的方式,但我不知道如何使用。我需要同时对数百个不同的公式执行此操作,因此单独复制/粘贴每个公式的公式是行不通的。

/// 还有一个不完整的解决方案需要弄清楚:

将单元格格式更改为文本。现在输入=A1您只得到文本。将格式更改回常规格式并不能解析公式。我们如何解析这些数组以再次开始作为公式工作,而不仅仅是文本?(除了进入每一个并按回车键)

...(对于任何好奇的 Kutools 插件都会这样做 - 完全相同的副本)

worksheet-function microsoft-excel

5
推荐指数
1
解决办法
6514
查看次数

在文本段落中查找关键字(在 Excel 中)

编辑:所有答案都很好,但对于大型数据集,宏方法效果更好。尝试所有这些,看看什么最适合你。

我正在尝试在 Excel 中解决这个问题以提高性能(我已经在 R 中完成了,但速度很慢)。基本上,我需要将每个关键字(来自关键字列表)与列中的文本(基本上是段落)进行匹配。这是一个插图:

以上数据均在本题出处,文字形式,适合复制粘贴。

我一直在寻找一些文本函数(如 FIND 和 SEARCH,但它们只返回位置),所以我不确定这是否可以在 Excel 中完成。

worksheet-function microsoft-excel microsoft-excel-2016

5
推荐指数
1
解决办法
2400
查看次数

excel 中的 LOOKUP 问题

我目前在 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)

microsoft-excel-2007 worksheet-function microsoft-excel

5
推荐指数
2
解决办法
2246
查看次数

Excel:从单个输入获取范围地址(寻找紧凑的公式)

我正在尝试从单个输入中获取绝对范围地址。像这样的东西。

Formula
=SOME.MAGIC(A1:B10)

Output (string)
"$A$1:$B$10"
Run Code Online (Sandbox Code Playgroud)

尝试 1

我能够得到这个结果,但使用以下(数组)公式非常复杂的方法。

{=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使用了四次。

尝试 2

我的另一个尝试是使用 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)

尝试 3

下一步是尝试 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)

是否有更简单的方法(不太复杂的公式)具有相同的输出?

worksheet-function microsoft-excel microsoft-excel-2013

5
推荐指数
2
解决办法
404
查看次数

Excel:如何将表格转换为记录结构列表

给定下表,我想找到满足输入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 …

worksheet-function microsoft-excel

5
推荐指数
1
解决办法
1557
查看次数

如何在 Microsoft Excel 中对角引用值?

这是一个示例表:

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

worksheet-function microsoft-excel

5
推荐指数
1
解决办法
526
查看次数