谷歌表:随着总和的增加,搜索列表中最近通过的值



我和家人正在进行一项挑战,从我兄弟姐妹居住的一个城市跑到另一个城市。我们设置了一个谷歌表格来记录我们的跑步和距离,然后我输入了一个简单的总和公式来显示我们当前的总进度。然而,我想在电子表格上添加一个功能,以显示我们在";运行";。

我能够列出我们将经过的城市以及到这些城市的距离的列表,但是我希望更新该表以指示当前位置:";城市;当我们经过其中一个时。

理想情况下,这意味着我可以输入一个公式,搜索城市列表(在第二个表格选项卡中(,然后确定总和何时超过列出的距离之一,然后返回最近被超过的城市的名称。我有一份下面的表格。

工作表副本(删除个人数据(

我已经尝试了类似=INDEX(G:G,MATCH("zzzz",G:G))的方法,在G列中手动插入城市,但在这种情况下,我需要自己不断更新表格。我会把公式放在表格标签的H1中。

希望这是可能的,感谢任何帮助!

在H2中:

=ArrayFormula(IF(B2:B="",,VLOOKUP(SUMIF(ROW(E2:E),"<="&ROW(E2:E),E2:E),{Cities!B:B,Cities!A:A},2,TRUE)))

如果E列中的相应行为空,则第一个IF测试使H列为空。

SUMIF返回E列中每一行的当前行的总和。

VLOOKUP以相反的顺序在"城市"表中的虚拟数据数组中查找这些累进和中的每一个,并返回第二个虚拟列(原来是您的城市名称(。因为城市的所有价值观!B: B按完全升序排列,则VLOOKUP的最终参数可以设置为TRUE,如果没有找到完全匹配,则会返回搜索值之前最接近的值。

在您的示例中,您可以使用第一行固定的index match citiessum running sheet来实现您的结果,这是我的解决方案:

=index(Cities!A:B, match(sum($D$2:D2),Cities!B:B,1),1) 

最新更新