检索 Google 表格公式的行号
Posted
技术标签:
【中文标题】检索 Google 表格公式的行号【英文标题】:Retrieve Row Number for Google Sheets formula 【发布时间】:2020-09-15 06:54:39 【问题描述】:我正在寻求有关如何在 Google 表格中检索行号的帮助,该行号可与以下函数一起使用。
我在 Google 表格中汇总了(可能很糟糕?)两条指令,它们一起工作以在一个单元格中使用 ARRAYFORMULA
、REGEXREPLACE
、REGEXEXTRACT
将字符串的最后一部分拉入可变数据字符串中为另一个单元格中的IFERROR
、REGEXEXTRACT
、CONCANTENATE
提供数据。
这些旨在通过自动化触发器 (Zapier) 插入到 Google 表格中,旨在调用和提取来自各种平台(eBay、Etsy、Woocommerce、直接输入等)的商品的跟踪代码,因此过程需要是动态的。
使用 Zapier 粘贴到 Google 表格中的以下内容,我已经能够让第一组工作。
=arrayformula(if(istext(P=P:ROW),arrayformula(REGEXREPLACE(P=P:ROW,">.*","")),arrayformula(regexextract(P=P:ROW,"^.*>(.*)>.*$")),arrayformula(REGEXREPLACE(P=P:ROW,"^.*>","")),))
这能够调用 ROW 并使用每个新 Zap 在 Google 表格中写入的每个新行进行更新。
挑战是让下一步自动工作,目前公式是用硬编码的单元格数字编写的,如下:
=IFERROR(REGEXEXTRACT(CONCATENATE(P2,IF(T2="","","/"),T2),"[^\/]+$"),"")
由于以当前格式编写,自动化过程失败,因为 Zapier 添加到 Google 表格的每一行都会指示 Google 表格在第 2 行中查找数据(根据硬编码的 2
)。
这确实需要在写入它的“同一行”中检索数据。
可以在此处找到工作表的副本:Google Sheets
Col P - 来自各种电子商务平台的原始代码 Col Q - Zapier 根据编程的 Zap 粘贴到此处的第一个公式指令 创建一个新行 Col R - 故意留白 Col S - 故意留白 Col T - 故意留白 Col U - Zapier 根据编程的 Zap 在此处粘贴的运输跟踪输出,作为写入上述“Col P”的同一触发器的一部分如果有更好的方法来处理这个问题,我很乐意听取建议。如果代码能够做同样的事情,我可以使用 Java 作为 Zap 来运行进程。
【问题讨论】:
how to retrieve a row number in Google Sheets
它是row()
【参考方案1】:
您可以使用Row()
获取公式所在的行,使用INDEX
来引用列中的单元格。所以把P2
的每个实例都改成index(P:P,row())
你的公式变成了
=arrayformula(if(istext(index(P:P,row())),arrayformula(REGEXREPLACE(index(P:P,row()),">.*","")),arrayformula(regexextract(index(P:P,row()),"^.*>(.*)>.*$")),arrayformula(REGEXREPLACE(index(P:P,row()),"^.*>","")),))
和
=IFERROR(REGEXEXTRACT(CONCATENATE(index(P:P,row()),IF(index(T:T,row())="","","/"),index(T:T,row())),"[^\/]+$"),"")
【讨论】:
以上是关于检索 Google 表格公式的行号的主要内容,如果未能解决你的问题,请参考以下文章
在excel中横向拖动公式,如何实现引用的单元格地址行号递增?
自动填充公式(跨电子表格运行) - Google 表格/应用程序脚本