标签: worksheet-function

如何测试 OpenOffice Calc 中的单元格是否包含 #N/A?

我正在使用该VLOOKUP函数根据搜索查询在列中查找值。但是,由于我的搜索参数始终存在值并不是给定的,因此有时会VLOOKUP返回#N/A.

如何编写IF测试是否VLOOKUP返回的函数#N/A?

我读过某处#N/A只是一个文本字符串,所以我显然已经尝试过:

=IF(B1="#N/A";"Not found";B1)
Run Code Online (Sandbox Code Playgroud)

但没有运气。所以也许不是。

spreadsheet worksheet-function openoffice-calc

7
推荐指数
2
解决办法
2万
查看次数

有没有办法给 Excel 表一个工作表范围而不是工作簿范围的名称?

当您在 Excel 中创建表格时(我使用的是 Excel 2007),您可以为其指定一个显示在“名称管理器”对话框中的名称。但是,该名称具有工作簿范围。如果可能的话,我希望有一个名称范围仅限于工作表的表格(就像命名公式/范围一样)。是否可以?

例如,我想在几个不同的工作表上有一个名为“Notes”的表格。任何给定的表格只能从它实际所在的工作表中引用,我宁愿不必让每个工作表都有一个不同名称的表格。当我在“名称管理器”对话框中按范围排序时,我还希望能够看到与范围内的其他命名公式组合在一起的表名称。

worksheet-function microsoft-excel

7
推荐指数
1
解决办法
8067
查看次数

在 Excel 中插入单元格而不更新相邻公式

有时,我通过将两个数据集并排粘贴在 Excel 中并在中间使用一个公式(如=A1=C1. 这将根据单元格是否完全匹配返回 true 或 false。当数据集缺少记录时,我只需插入一个新单元格并将现有单元格下移即可使它们重新排列。但是,当我这样做时,它会更新公式,将引用单元格向下移动我插入的单元格数量,如下所示:

Excel问题

这会导致问题,因为每次发生这种情况时,我都必须重做中间的所有公式。对于很长的数据集,这会变得非常乏味。有没有什么方法可以“锁定”比较列中的公式,这样它就不会关心我是否插入或删除单元格,它们将始终指向我设置的原始单元格?

顺便说一句,我知道 $A$1 将锁定引用,但只有当您移动该单元格而不是移动引用的单元格时,这才有效。如果您将其放在顶部并将它们向下拖动,则无论您拖动到哪一行,它们都将保持 $A$1(另外,在引用列中插入单元格后,它仍然会进行更新)。

worksheet-function microsoft-excel-2010

6
推荐指数
1
解决办法
2万
查看次数

Excel 可以执行混合绝对和相对单元格坐标的类似计数的总和吗?

假设我有一个结构有点像这样的电子表格

  _A____B____C____D____E____F_____
1 |XFoo|XBar|YFoo|ZBar|XBaz|Result
2 |8   |3   |0   |1   |100 |  (*)
3 |2   |1   |1   |20  |10  |  (*)
Run Code Online (Sandbox Code Playgroud)

我想计算 A 到 E 列每行中所有单元格的总和,仅在那些列标题(第 1 行)以字母 X 为前缀的地方。

因此,F2 将计算为 A2+B2+E2=111,因为 A1、B1 和 E1 都以字母 X 开头。同样,F3 将是 13。

如何使用内置函数(无自定义脚本)在 Excel 公式中表达这一点?

worksheet-function microsoft-excel microsoft-excel-2010

6
推荐指数
1
解决办法
189
查看次数

Excel/OOCalc 中的替代 If() 函数

多年来无数次,我一直想在 Excel/OpenOffice Calc 中以以下形式使用 If 语句:

If(A (comparison operator) B, A, C)
Run Code Online (Sandbox Code Playgroud)

或者,同样有用:

If(A (comparison operator) B, C, A)
Run Code Online (Sandbox Code Playgroud)

其中 A 是一个非常冗长且复杂的表达式,而 B 和 C 则简短而简单,通常(但不总是)只是一个字面值。我想要一种方法来执行其中一个不涉及重复 A 表达式的方法(这至少是丑陋的两倍,需要重复编辑,并引入了完全不必要的错误,这些错误甚至不会始终如一地表现出来),或者给 A专用单元格,或使用 VBA(这是 Microsoft 专有的,因此令人讨厌,而不是在 Calc 中)。

对于特殊情况,有一些解决方法,例如 Excel 中的 Iferr()(这不在 Calc 中),以及使用“条件”类型函数(如 Abs()、舍入和 Mod())处理数字。但是这些在大多数时候都不足以做我想做的事情(而且数字操纵也很不雅观,不清楚)。有没有可能有一个我错过的功能或简单的一系列功能可以做到这一点?离开似乎是一件大事。

worksheet-function openoffice-calc microsoft-excel

6
推荐指数
1
解决办法
181
查看次数

按最后一个分隔符拆分 Excel 单元格

我需要通过第一个分隔符(从右到左阅读)拆分一个单元格,以便我可以将该值放入另一个单元格中。

例如,我在单元格 A1 中的数据可能如下所示:

"something - more something - a lot more of something - (this is the text I need)"
Run Code Online (Sandbox Code Playgroud)

单元格 B1 需要值“(这是我需要的文本)”

到目前为止,我所拥有的是:

=RIGHT(a1,LEN(FIND(RIGHT("-"),a1)))
Run Code Online (Sandbox Code Playgroud)

但这似乎只返回最后一个字符:“)”。

worksheet-function microsoft-excel

6
推荐指数
2
解决办法
2万
查看次数

Excel 中的范围映射

我在 Excel 中有一列数字为 [0..100] 的数据。我需要一个新列,它将这些值映射到一组新值,例如:

  • > 90:4
  • 80-90:3
  • 70-79:2
  • 60-69:1
  • <60:0

我尝试使用VLOOKUP来执行此操作,特别是使用77和 函数调用的测试输入VLOOKUP(77, A10:B19, 2, TRUE),其中 A10 是此范围内的左上角元素:

99 4
90 4
89 3
80 3
79 2
70 2
69 2
60 1
59 0
0 0

但是,我得到的结果是#N/A. 根据文档,这是因为

...lookup_value 中的值小于 table_array 第一列中的最小值...

然而,情况显然并非如此,因为我传递的是 77。但是,如果我使用 的测试输入(79查找表中明确显示的值),我会得到正确的结果。

VLOOKUP 是错误的方法吗?进行此类映射的最佳方法是什么?

我应该提到,我的输入值和查找表都键入为“数字”。

windows-7 worksheet-function vlookup microsoft-excel microsoft-excel-2016

6
推荐指数
1
解决办法
8281
查看次数

使用数据透视表中的平均值(计算字段)

我有以下数据:

customer_id customer_name   id          date        contract_value  costs   profit_extra_work
200027      Company A       00.161.559  08/07/2015   499.5          50.55   0
200027      Company A       00.161.566  08/07/2015   499.5          30      824.9
200027      Company A       00.188.852  04/04/2016   499.5          0       69.39
200027      Company A       00.190.078  30/05/2016   499.5          98.1    158.29
200027      Company A       00.190.291  14/04/2016   499.5          15      346.06
200027      Company A       00.222.221  12/05/2017   499.5          15      5.1
200027      Company A       00.222.229  12/05/2017   499.5          100.35  400.81
200027      Company A       00.161.561  08/07/2015   499.5          45      269.97
200027      Company A       00.185.058  18/02/2016   499.5          15      77.41 …
Run Code Online (Sandbox Code Playgroud)

pivot-table worksheet-function microsoft-excel

6
推荐指数
1
解决办法
2万
查看次数

Excel:我想从 1 列中提取字符并将它们粘贴到单独的列中

查看下图,我想从“geohash,latitude,longitude”列中提取纬度和经度。

我不能只使用该函数,RIGHT(C2,LEN(C2)-8)因为 Lats 和 Longs 的长度不同,我必须手动遍历整个列 E 添加已删除的任何数字。

示例图片:

worksheet-function microsoft-excel

6
推荐指数
2
解决办法
1244
查看次数

在 SUMIF 中使用一系列单元格作为条件

例如,我有以下公式:

=SUMIF(G1:G25,E1,H1:H25)+SUMIF(G1:G25,E2,H1:H25)+SUMIF(G1:G25,E3,H1:H25)
Run Code Online (Sandbox Code Playgroud)

它是 3 个 SUMIF,它们都使用相同的条件和总和范围,该条件使用 3 个单元格都在同一范围内。

我希望能够将这个公式浓缩为如下所示:

=SUMIF(G1:G25,E1:E3,H1:H25)
Run Code Online (Sandbox Code Playgroud)

其中标准是单元格的范围。我试过了:

{=SUMIF(G1:G25,E1:E3,H1:H25)}
Run Code Online (Sandbox Code Playgroud)

&

=SUMIF(G1:G25,{E1:E3},H1:H25)
Run Code Online (Sandbox Code Playgroud)

&

=SUM(SUMIF(G1:G25,{E1:E3},H1:H25))
Run Code Online (Sandbox Code Playgroud)

有没有办法实现这一目标?也许甚至与SUMPRODUCT?

此外,E1:E3如果可能的话,我想使用命名范围来代替范围,如果不只是一种压缩多个 SUMIF 的方法对我有用。

worksheet-function microsoft-excel

6
推荐指数
1
解决办法
3888
查看次数