通过 Excel 中的字符串创建函数

Creating function via string in Excel

我正在尝试寻找一种更简单的方法来计算以下统计数据:平均值、标准值、最小值和最大值。到目前为止,我已经尝试组合函数名称 (E9)、起始列 ($E$6)、起始行 ($F$2)、结束列 ($G$6) 和结束行 ($F$3)。结果是AVERAGE(A2:C10)。我想要这个 return AVERAGE(A2:C10) 的值,即 6.23。有没有办法把它变成Excel可以识别的方程式?此概念将用于查找大型数据集的平均值、标准值、最小值和最大值。提前致谢!

经过一番思考后,您可以构建一个交叉引用 table,它使用 SUBTOTAL 提供公式的功能,同时使用 INDIRECT 提供范围。

Function   Function_Num   Function_Num (excludes hidden values)
Average    1              101
Min        5              105
StDev      7              107

SUBTOTAL function is available here 可用功能的完整列表。在 X1:Z4 中使用 table,您构建的公式将是,

=小计(vlookup(E9, X:Z, 2, false), 间接(e6&f3&":"&g6&f3))

请注意,并非每个本机工作表函数都在 SUBTOTAL 中可用,但您指定的三个函数以及其他几个函数都可用。

附录:

  1. 数据验证列表可以将 Source: 列表用于 E9:G9 作为 X2:X4 或定义为 ='Sheet1'!$X:INDEX('Sheet1'!$X:$X, MATCH("zzz", 'Sheet1'!$X:$X)) 的命名范围'last alphabetic' 查找。
  2. 数据查找范围本身可以定义为动态命名范围,来源: of =Sheet1!$X:INDEX(Sheet1!$Z:$Z, MATCH(1E+99, Sheet1!$Z:$Z)) 用于 'last numeric' 查找。
  3. <100 和 >100 function_num 标识符在数据 ► 排序和筛选 ► 筛选命令中对行 'hidden' 的作用相同。
  4. 对于 Excel 2010 及更高版本,AGGREGATE function 可能会提供额外的功能。

如果您想进入未记录的世界 "features",您可以使用 EVALUATE 函数(如果它是在命名范围内定义的)。它主要在 Excel 2013 年工作,如此处所宣传:http://www.vertex42.com/ExcelArticles/evaluate-function.html.

缺点是它似乎不会更新,除非更新基础公式或结果单元格。它无法自行正确响应 AVERAGE/SUM 中数据的变化。如果您经常更改公式(或使用间接公式,因为我相信 INDIRECT 会强制完全重新计算),这可能不是问题。