检索 Google 表格公式的行号

Posted

技术标签:

【中文标题】检索 Google 表格公式的行号【英文标题】:Retrieve Row Number for Google Sheets formula 【发布时间】:2020-09-15 06:54:39 【问题描述】:

我正在寻求有关如何在 Google 表格中检索行号的帮助,该行号可与以下函数一起使用。

我在 Google 表格中汇总了(可能很糟糕?)两条指令,它们一起工作以在一个单元格中使用 ARRAYFORMULAREGEXREPLACEREGEXEXTRACT 将字符串的最后一部分拉入可变数据字符串中为另一个单元格中的IFERRORREGEXEXTRACTCONCANTENATE 提供数据。

这些旨在通过自动化触发器 (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 表格中的 IFS 公式

自动填充公式(跨电子表格运行) - Google 表格/应用程序脚本

使用单元格在 Google 表格的公式中引用表格的名称

如何使用 Google Apps 脚本将公式添加到 Google 表格?

以编程方式在 Google 表格中插入公式