问题标签 [excel-formula]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
9465 浏览

regex - 这是用于匹配 Excel 公式中任何单元格引用的正则表达式吗?

我一直在尝试创建一个匹配任何 Excel 公式中的任何引用的正则表达式模式,包括绝对引用、相对引用和外部引用。我需要返回整个参考,包括工作表和工作簿名称。

我无法找到有关 Excel A1 符号的详尽文档,但通过大量测试,我确定了以下内容:

  • 公式前面有一个等号“=”
  • 公式中的字符串用双引号括起来,在查找真正的引用之前需要删除,否则=A1&"A1"会破坏正则表达式
  • 工作表名称最多可包含 31 个字符,不包括 \ / ? * [ ] :
  • 外部引用中的工作表名称必须以 bang 成功=Sheet1!A1
  • 外部引用中的工作簿名称必须用方括号括起来=[Book1.xlsx]Sheet1!A1
  • 工作簿路径(如果引用是对已关闭工作簿中的范围的引用,则 Excel 添加)始终用单引号括起来,并位于工作簿名称的括号左侧'C:\[Book1.xlsx]Sheet1'!A1
  • 某些字符(例如,不间断空格)导致 Excel 将工作簿和工作表名称括在单引号的外部引用中,但我不知道具体是哪些字符 ='[Book 1.xlsx]Sheet 1'!A1
  • 即使启用了 R1C1 表示法,Range.Formula仍以 A1 表示法返回引用。Range.FormulaR1C1以 R1C1 表示法返回引用。
  • 3D 参考样式允许在一个工作簿上使用一系列工作表名称=SUM([Book5]Sheet1:Sheet3!A1)
  • 可以在公式中指定命名范围:
    • 名称的第一个字符必须是字母、下划线字符 (_) 或反斜杠 (\)。名称中的剩余字符可以是字母、数字、句点和下划线字符。
    • 您不能使用大写和小写字符“C”、“c”、“R”或“r”作为定义的名称,因为它们都用作为当前选定的单元格选择行或列的简写,当您在名称或转到文本框中输入它们。
    • 名称不能与单元格引用相同,例如 Z$100 或 R1C1。
    • 空格不允许作为名称的一部分。
    • 名称最长可达 255 个字符。
    • 名称可以包含大写和小写字母。Excel 不区分名称中的大小写字符。

这是我想出的用 VBA 程序进行测试的方法。我也更新了处理名称的代码:

任何人都可以打破或改善这一点吗?如果没有关于 Excel 公式语法的详尽文档,很难知道这是否正确。

谢谢!

0 投票
3 回答
991 浏览

excel - Excel:需要异常查找功能的帮助(排序列与查找列不同)

我在 Excel 中构建不寻常的查找公式时遇到问题。

通常,我会使用 VLOOKUP(),但缺陷是我想从按其他列排序的表中查找列中的数字。Vlookup 只能在排好序的列本身上查找内容。

场景如下:

  • 该表按 B 列升序排序。
  • 对于给定的参数 P,我现在想找到第一个 A 值,从顶部开始向下,大于或等于该参数 P。
  • 然后该函数应返回相应的 B 值。

表(部分关闭,完整的表要大得多):

例如,假设我的参数是 1100,那么我希望我的公式返回 7.0,因为在 A 列中向下搜索时大于或等于 1100 的第一个条目是 1600,其对应的 B 值为 7.0

我用数组公式(也称为“ctrl-shift-enter 公式”)尝试了我的运气,并构造了这样的东西:

C1包含我的参数,表格范围 A1:B9,A范围 B1:B9

但这不起作用(在上面的示例中,它返回 12.0 因为 MIN() 函数选择了 1280)。

我不想使用的解决方案: 我可以编写一些 VBA 来遍历表格,但我不想这样做(因为烦人的“宏警告”,并且因为 Mac 上的 Excel 不再支持 VBA )

有人有任何线索吗?

0 投票
4 回答
12859 浏览

excel - DSUM:如何使用大括号定义条件范围?

我认为用一个例子来解释我的问题更容易:

替代文字

根据上面的电子表格,公式=DSUM(A4:D8,B4,A1:A2)有效,返回 20。

为什么=DSUM(A4:D8,B4,{"OrderID";">10567"})不工作?(它返回#VALUE!)

0 投票
1 回答
193 浏览

excel-formula - 如何在第一列不存在的工作表上查找值?

我已经看到 VLOOKUP excel 公式在另一个工作表的第一列中查找值。

如何对不在第一列的值进行类似的搜索。让我们有一个工作表1,其值如下:

我想通过在另一个工作表上搜索“index3”来获取 value3。如果有人可以编写所需的excel公式,我将不胜感激。

0 投票
2 回答
35016 浏览

excel-formula - Excel函数:哪个值更大

在 Excel 中,是否有返回两个值中较大值的本机函数?我希望避免使用 IF 函数。如果值得的话,我正在使用 Excel 2010 Beta。

例如:GTR(66,24) 将返回 66。

0 投票
1 回答
4272 浏览

excel-2007 - 在excel 2007中的一系列值之间

我在 Excel 2007 中有一列数字,例如:

我想要做的是:如果值在 0-20 之间,用 0.1 替换值
如果值在 20-25 之间,用 0.2 替换它

bin 大小不会相同(0-20、20-25、30-50、50-60、65+)等,替换数字的值不一定是连续的。

有这个公式吗?宏可以工作吗?查找和替换将永远需要。

谢谢

0 投票
1 回答
1228 浏览

excel-2007 - 在不同的 XLS 工作表中找到匹配值并从匹配行中复制其他单元格值

Sheet1 B 列包含我的客户编号 - 我需要在 Sheet2 F 列中找到此客户编号。然后将 Sheet2 AE 中的值(从具有匹配客户编号的行)复制到 Sheet1 E 列中匹配的客户编号行。请注意sheet1 B 列和 Sheet2 F 列包含相同的客户编号,但顺序不同,并且不能选择排序。

0 投票
4 回答
44207 浏览

excel - 我们可以在 Excel 中的 IF 函数的“value_if_true”字段中输入公式吗?

我有一种情况,我需要在函数的Value_if_trueValue_if_false字段中放置一个公式,IF但它似乎不起作用。它只是在单元格中继续显示我的公式。有人可以帮忙吗?

0 投票
8 回答
854459 浏览

excel - 如何保持一个变量不变而另一个变量随着excel中的行而变化

假设我有一个单元格 A1,我想在计算中保持不变。例如,我想计算这样的值:

如何做到这一点,以便如果我拖动该单元格以跨多行的单元格进行计算,只有 B1 值发生变化,而 A1 始终引用该单元格,而不是转到 A2、A3 等?

0 投票
2 回答
43693 浏览

excel - 如何从excel中的sheet1获取sheet2中的数据

我有两个工作表,

Sheet2 中的“ Headname”列是空白的,我想做的是Headname使用“”从 Sheet1 中获取“ Username”。

我曾尝试使用VLookup,但如果 Sheet1 和 Sheet2 中的用户名不完全相同,它就不起作用。

EG,给定两个不同的用户名,如下所示。

  • Username在 Sheet1 中是"Jenny Oh""Chan Shu Mei"
  • Username在 Sheet2 中是"ITC - Jenny Ong""IA: Chan Shu Mei"

任何想法是否可以做到?提前感谢您的帮助。