Google Sheets-带有INDEX参数的IF语句给了我#ERROR(分析错误)



为了提供一些细节,我使用Google Forms+Google Sheets制作了一个简单的数据库,收集我输入的所有银行信息(收入、储蓄、支出等),我可以通过简单的排序来跟踪细节。

我陷入了一个似乎无法理解的公式中。在我进入代码的具体细节之前,我将给出一个小的解释。我试图[用公式]填充的单元格应该从表单响应表中获取2条信息(我将其称为"rawdata"),并从"rawdata"中的另一个单元格中生成一个值(数字)。

所以在‘rawdata’中,我有一列(B)的值为"0";CCD_ 5";或";CCD_ 6";对于表单响应行。我在‘rawdata’中有一列(D),其值为"0";CCD_ 9";提交的编号。

"rawdata"中引用的单元格:

B9 = "Expense"
D9 = 67.37

现在,由于最初的"rawdata"是一个表单响应表,它在每次响应时都会插入新行,所以我尝试在提交新响应时仅调用单元格的方向失败,因为它会自行递增。因此,成为一个解决方案是不可能的。

因此,对于我用来在有组织的工作表中显示"rawdata"中的值的每一个其他单元格,我都使用=INDEX()来提取该行和列中的值,而不是单元格引用,到目前为止,它一直有效。

CCD_ 14显示";CCD_ 15";因此从B9中的"rawdata"。所以其余的细胞都是这样配制的,我没有遇到任何问题。

当我得到这个数量时,我使用=IF()公式从D列中提取值,并根据B列的状态将其显示为负数或正数。

作为结果,=IF(rawdata!B8="Expense", -rawdata!$D9, rawdata!$D9)显示-67.37

但由于我不能用这个公式来填充空单元格以备将来使用,我必须找到另一种方法来填充;

=IF(=INDEX(rawdata!$B:$B,ROW(9:9)) = "Expense", =INDEX(-rawdata!$D:$D,ROW(9:9)), =INDEX(rawdata!$D:$D,ROW(9:9)))

是我解决问题的方法,因为对我来说这是有意义的。但它失败了,给了我一个解析错误。

因此,当我试图用10的值作为=IF()的结果来运行第一个=INDEX()时,它也失败了,所以我在排序表中创建一个新列来提取"0"的数据;CCD_ 27";或";CCD_ 28";所以我可以参考一下。

"processeddata"中的单元格:

E9 = "Expense"

=IF(E9="Expense", 1, 0)显示1作为结果,所以我认为这就是我的问题的解决方案。

=IF(E9="Expense", =INDEX(-rawdata!$D:$D,ROW(9:9)), =INDEX(rawdata!$D:$D,ROW(9:9))) 

显示带有描述"分析错误"的#ERROR

=INDEX(-rawdata!$D:$D,ROW(9:9))显示-67.37

=INDEX(rawdata!$D:$D,ROW(9:9))显示67.37

我不知道现在该怎么办。我已经在这里和谷歌上搜索了很多次,试着使用INDEXMATCHVLOOKUP等,但无法解决这个问题来挽救我的生命。这里有人知道我如何通过在"rawdata"中添加新行时不会增加的单元格引用来解决这个问题吗?

PS。我还尝试过使用=VALUE()=INDEX()转换为数字,但没有成功。

您的公式有多余的等号(=)。尝试插入>列和新列第8行中的此公式:

=arrayformula( if(rawdata!B8:B = "Expense", -rawdata!D8:D, rawdata!D8:D) )

您的公式中有一些等号,这可能是问题所在。

而不是:

IF(=INDEX(rawdata!$B:$B,ROW(9:9)) = "Expense", =INDEX(-rawdata!$D:$D,ROW(9:9)), =INDEX(rawdata!$D:$D,ROW(9:9)))

试试这个:

IF(INDEX(rawdata!$B:$B,ROW(9:9)) = "Expense", INDEX(-rawdata!$D:$D,ROW(9:9)), INDEX(rawdata!$D:$D,ROW(9:9)))

此外,数组公式是计算Form数据的一个很好的工具。在该文件中,您可以看到Column F中的一个公式,该公式在该表单的响应表的每一行中进行计算,它将随着新条目的生成而继续更新。请随意输入并提交一些表格回复。

相关内容

  • 没有找到相关文章