- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到了一些问题,这似乎是一个相当常见的要求:包含先前行的数组公式计算。问题似乎是数组公式中的所有单元格都会立即计算,因此它认为存在循环依赖,并给出该错误。
我模拟了一个toy example on Google Spreadsheet您应该能够看到并发表评论。 (我已禁止编辑访问以防止破坏。)
它看起来像这样,其中所有内容都在行 2
中,项目符号 1,2,3,4 引用列 A
,B
>、C
、D
分别为:
=ARRAYFORMULA(IF(ROW(B2:B)>2, OFFSET(D2:D, -1, 0) + A2:A,))
=ARRAYFORMULA(IF(ROW(D2:D)=2, 0, B2:B*(1+C2:C)))
这个想法是在每行上都有复利(可能具有可变利率)和正/负资本变化的选项,但是,单元格B2
和D2
(第 2、4 点)错误 #REF
,并在悬停时报告“循环依赖”。
我已经尝试了我能想到的一切:OFFSET
、INDIRECT
、D1:D
(而不是2
code>),甚至一个辅助列什么都不做,只是引用 D
的前一行(这只是导致了三列循环依赖)。
我怎样才能拥有“前任”? “利息”列引用数组公式中前一行的“余额”列,而不会导致此错误?
类似的问题可以通过对行进行 SUMIF
来解决此问题,条件是该行小于数组公式中的“当前”行。 我看不出这对我的情况有用,因为我需要将整个运行总和乘以每一步的利息。我尝试了 SUMIF(... "="&DATE(...) ...)
引用前一行;这可以在辅助列中打印偏移余额,但尝试使用它(通过下面的迭代计算)的行为就像它为零一样。
根据 @JackBrown 的建议,我启用了迭代计算,消除了循环依赖错误,但它仍然不起作用 - 第二个填充行从前一行获取值 0
,尽管上一行具有非零值。就好像它在早期迭代中获取了值,并且在更改时没有更新。
最佳答案
在Excel中制作智能表格并使用公式:
=If(行()=2,A2*(1+B2),(A1+C1)*(1+B2))
请在此处下载示例文件: https://drive.google.com/file/d/0B79ClRnKS87QTTR5VDBld0plajg/view?usp=sharing
<小时/>为了尝试解决您的问题,我进行了一项研究。简短的回答:我不能这样做,而且我相信那是不可能的。
背景
我将案例简化为通过变化的利率查找 future 利率值的任务:
Rate+ Recursive formula for rate
1.00% 101.0000% =(1+A2)
1.50% 102.5150% =B2*(1+A3)
1.10% 103.6427% =B3*(1+A4)
1.10% 104.7827% =B4*(1+A5)
然后我手动创建了一个数组以获得相同的结果并得到了这个:
={1+A2;
1+A2+(1+A2)*A3;
1+A2+(1+A2)*A3+(1+A2+(1+A2)*A3)*A4;
1+A2+(1+A2)*A3+(1+A2+(1+A2)*A3)*A4+(1+A2+(1+A2)*A3+(1+A2+(1+A2)*A3)*A4)*A5}
如您所见,参数数量增长得非常快:
1 = 2 ^1 - 1 1+B2
3 = 2 ^2 - 1 1+B2+(1+B2)*B3
7 = 2 ^3 - 1 1+B2+(1+B2)*B3+(1+B2+(1+B2)*B3)*B4
15 = 2 ^4 - 1 1+B2+(1+B2)*B3+(1+B2+(1+B2)*B3)*B4 + ...
为了计算最后一行的结果,我们需要 2^n - 1
变量:
这就是为什么即使您启用迭代计算=开
,arrayformula也无法处理计算
解决方法但这对于递归函数或脚本来说是非常简单的任务,因为它们可以记住最后找到的值。所以我建议编写脚本并将其用作自定义数组公式:
function futureValue(values, rates) {
var result = [];
var resultCurrent = 0;
for (var i = 0, len = values.length; i < len; i++)
{
resultCurrent = (+values[i] + resultCurrent) * (1 + +rates[i]);
result.push(resultCurrent);
}
return result;
}
链接:
关于excel - 引用前一行的ArrayFormula? (循环依赖错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43899769/
我已经使用 vue-cli 两个星期了,直到今天一切正常。我在本地建立这个项目。 https://drive.google.com/open?id=0BwGw1zyyKjW7S3RYWXRaX24tQ
您好,我正在尝试使用 python 库 pytesseract 从图像中提取文本。请找到代码: from PIL import Image from pytesseract import image_
我的错误 /usr/bin/ld: errno: TLS definition in /lib/libc.so.6 section .tbss mismatches non-TLS reference
我已经训练了一个模型,我正在尝试使用 predict函数但它返回以下错误。 Error in contrasts<-(*tmp*, value = contr.funs[1 + isOF[nn]])
根据Microsoft DataConnectors的信息我想通过 this ODBC driver 创建一个从 PowerBi 到 PostgreSQL 的连接器使用直接查询。我重用了 Micros
我已经为 SoundManagement 创建了一个包,其中有一个扩展 MediaPlayer 的类。我希望全局控制这个变量。这是我的代码: package soundmanagement; impo
我在Heroku上部署了一个应用程序。我正在使用免费服务。 我经常收到以下错误消息。 PG::Error: ERROR: out of memory 如果刷新浏览器,就可以了。但是随后,它又随机发生
我正在运行 LAMP 服务器,这个 .htaccess 给我一个 500 错误。其作用是过滤关键字并重定向到相应的域名。 Options +FollowSymLinks RewriteEngine
我有两个驱动器 A 和 B。使用 python 脚本,我在“A”驱动器中创建一些文件,并运行 powerscript,该脚本以 1 秒的间隔将驱动器 A 中的所有文件复制到驱动器 B。 我在 powe
下面的函数一直返回这个错误信息。我认为可能是 double_precision 字段类型导致了这种情况,我尝试使用 CAST,但要么不是这样,要么我没有做对...帮助? 这是错误: ERROR: i
这个问题已经有答案了: Syntax error due to using a reserved word as a table or column name in MySQL (1 个回答) 已关闭
我的数据库有这个小问题。 我创建了一个表“articoli”,其中包含商品的品牌、型号和价格。 每篇文章都由一个 id (ID_ARTICOLO)` 定义,它是一个自动递增字段。 好吧,现在当我尝试插
我是新来的。我目前正在 DeVry 在线学习中级 C++ 编程。我们正在使用 C++ Primer Plus 这本书,到目前为止我一直做得很好。我的老师最近向我们扔了一个曲线球。我目前的任务是这样的:
这个问题在这里已经有了答案: What is an undefined reference/unresolved external symbol error and how do I fix it?
我的网站中有一段代码有问题;此错误仅发生在 Internet Explorer 7 中。 我没有在这里发布我所有的 HTML/CSS 标记,而是发布了网站的一个版本 here . 如您所见,我在列中有
如果尝试在 USB 设备上构建 node.js 应用程序时在我的树莓派上使用 npm 时遇到一些问题。 package.json 看起来像这样: { "name" : "node-todo",
在 Python 中,您有 None单例,在某些情况下表现得很奇怪: >>> a = None >>> type(a) >>> isinstance(a,None) Traceback (most
这是我的 build.gradle (Module:app) 文件: apply plugin: 'com.android.application' android { compileSdkV
我是 android 的新手,我的项目刚才编译和运行正常,但在我尝试实现抽屉导航后,它给了我这个错误 FAILURE: Build failed with an exception. What wen
谁能解释一下?我想我正在做一些非常愚蠢的事情,并且急切地等待着启蒙。 我得到这个输出: phpversion() == 7.2.25-1+0~20191128.32+debian8~1.gbp108
我是一名优秀的程序员,十分优秀!