我正在使用谷歌电子表格API v4 for java。
我的电子表格看起来像这样 -
User Message Time
--------------------------------
User1 My Message 10:30
User2 User2 msg 3:40
User3 User3 msg 1:30
User2 User2 msg
User4 User4 msg 4:00
我想找到用户'User2'和时间库(空值)的行索引。 之后,我想使用此行索引在该行中添加时间值。 是否可以在不知道范围或索引的情况下逐行搜索?
在上面的示例中,它应该仅返回第二行索引,因为它与条件匹配(User ='User2'和Time ='')。 或者甚至更好,是否有任何查找和替换API,它将找到行标准(User ='User2'和Time ='')并将时间值从''替换为'3:30'?
我浏览了谷歌文档,但根据我的需要找不到。 感谢。
修改
我找到了一个公式来查找需要更新的单元格地址。
=ADDRESS(MATCH("User2",A1:A4000),3)
例如,在此问题中使用此公式将返回'$ C $ 4'地址,这是预期的。我通过手动评估电子表格中的公式对此进行了测试。有没有办法使用Google电子表格API V4使用Java代码评估此公式?
答案 0 :(得分:1)
我认为你想要使用查找函数的组合: https://support.google.com/docs/topic/3105472?hl=en&ref_topic=3046366
特别是,MATCH允许您获取某个范围内所需值的位置偏移量,因此您可以获得包含值“User2”的column1中单元格的偏移量,而OFFSET可以让您检查单元格中的值找到的单元格右侧的2列,它将为您提供与时间列进行比较的值。从那以后你也会检查被检查事物的细胞坐标,然后你可以分配一个新的值。这些查找函数允许您查找其余部分所需的范围或索引。
这只是为您提供了一种方便的方法,可以为您的其他函数预先计算某些值,以便您的脚本可以直接访问工作表内置函数输出的值。它可以节省您的工作表脚本在值的范围内排序,但逻辑是相同的。 1)获取Column1的范围 2)Column1的值搜索范围'User2' 3)如果匹配,检查偏移量(0,2)以获得右侧的单元格引用2个空格并询问其单元格引用。 4)如果该引用为空,请为其分配时间戳。
如果你想要这个代码,那么我需要花费更长的时间来组合。