Google sheets 您如何在Google工作表中找到一列中的一个单元格和同一列中最后一个非空单元格之间的差异?
我对电子表格非常缺乏经验,只能做非常基本的函数和公式。我和我的朋友们正在跟踪未来几个月的减肥情况,所以我们每天都在增加体重。我正在寻找一个公式,在这个公式中,我可以找到我们的起始重量(我的起始重量是G8)和最近输入的重量(我最后一次输入的重量是G67)之间的差异。为了澄清这一点,我想在我前进的过程中跟踪我的进度,而不仅仅是第一个和最后一个条目之间的差异 我已经对这个问题进行了很多研究,但似乎只能在MicrosoftExcel中找到答案(它不适用于GoogleSheets) 我提供了一个指向测试电子表格的链接,因此您可以看到我们的电子表格的样子:您可以这样做:Google sheets 您如何在Google工作表中找到一列中的一个单元格和同一列中最后一个非空单元格之间的差异?,google-sheets,google-sheets-formula,Google Sheets,Google Sheets Formula,我对电子表格非常缺乏经验,只能做非常基本的函数和公式。我和我的朋友们正在跟踪未来几个月的减肥情况,所以我们每天都在增加体重。我正在寻找一个公式,在这个公式中,我可以找到我们的起始重量(我的起始重量是G8)和最近输入的重量(我最后一次输入的重量是G67)之间的差异。为了澄清这一点,我想在我前进的过程中跟踪我的进度,而不仅仅是第一个和最后一个条目之间的差异 我已经对这个问题进行了很多研究,但似乎只能在MicrosoftExcel中找到答案(它不适用于GoogleSheets) 我提供了一个指向测试电
=arrayformula(
{"Begin", B8:H8;
"Last", {
indirect("B" & max(filter(row(B8:B67),B8:B67<>""))),
indirect("C" & max(filter(row(C8:C67),C8:C67<>""))),
indirect("D" & max(filter(row(D8:D67),D8:D67<>""))),
indirect("E" & max(filter(row(E8:E67),E8:E67<>""))),
indirect("F" & max(filter(row(F8:F67),F8:F67<>""))),
indirect("G" & max(filter(row(G8:G67),G8:G67<>""))),
indirect("H" & max(filter(row(H8:H67),H8:H67<>"")))}
;"Different",{B8:H8}-{
indirect("B" & max(filter(row(B8:B67),B8:B67<>""))),
indirect("C" & max(filter(row(C8:C67),C8:C67<>""))),
indirect("D" & max(filter(row(D8:D67),D8:D67<>""))),
indirect("E" & max(filter(row(E8:E67),E8:E67<>""))),
indirect("F" & max(filter(row(F8:F67),F8:F67<>""))),
indirect("G" & max(filter(row(G8:G67),G8:G67<>""))),
indirect("H" & max(filter(row(H8:H67),H8:H67<>"")))}})
只是澄清一下;你在寻找一个公式,根据你最近输入的体重,而不仅仅是你到达G67后的最终体重,来计算你目前的总减量?如果是这样的话,我搜索的第一个谷歌结果给了我
=G8索引(G:G,max(row(G:G)*(G:G“”))
,这是正确的,是的。谢谢你的澄清。不幸的是,我发现了一个类似的公式,但当我尝试它时,它给了我一个#REF!错误。我不知道为什么。您的公式出现了相同的错误。它在我为测试公式而制作的示例表中有效。如果没有看到你的表格,我想我帮不了什么忙。这里有一个链接,指向我制作的测试电子表格,你可以看到我们的表格是什么样子。啊,我明白了。这是因为“总计”单元格与数据位于同一列中。由于公式为整个列编制索引,因此它也在为自己编制索引。那可能不好。要解决此问题,请将公式替换为=G8索引(G8:G67,max(行(G8:G67)*(G8:G67“”)))
,根据需要替换数字以扩展公式引用的单元格数非常感谢!我真的很感激!
=arrayformula({
{"Stage";"First";"Last";"Diff"},
{B7:H7;
B8:H8;transpose(
query(split(
query(transpose(
query(text(row(A8:A66)*not(isblank(B8:H66)),"0000") & ":" & B8:H66,
"Select " & join(",","max(Col" & column(B7:H7)-COLUMN(B7)+1 & ")"))
),"Select Col2"),":",true,false),"Select Col2"));
B8:H8-transpose(
query(split(
query(transpose(
query(text(row(A8:A66)*not(isblank(B8:H66)),"0000") & ":" & B8:H66,
"Select " & join(",","max(Col" & column(B7:H7)-COLUMN(B7)+1 & ")"))
),"Select Col2"),":",true,false),"Select Col2"))
}})