我和家人正在进行一项挑战,从我兄弟姐妹居住的一个城市跑到另一个城市。我们设置了一个谷歌表格来记录我们的跑步和距离,然后我输入了一个简单的总和公式来显示我们当前的总进度。然而,我想在电子表格上添加一个功能,以显示我们在";运行";。
我能够列出我们将经过的城市以及到这些城市的距离的列表,但是我希望更新该表以指示当前位置:";城市;当我们经过其中一个时。
理想情况下,这意味着我可以输入一个公式,搜索城市列表(在第二个表格选项卡中(,然后确定总和何时超过列出的距离之一,然后返回最近被超过的城市的名称。我有一份下面的表格。
工作表副本(删除个人数据(
我已经尝试了类似=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 cities
和sum running sheet
来实现您的结果,这是我的解决方案:
=index(Cities!A:B, match(sum($D$2:D2),Cities!B:B,1),1)