【发布时间】:2020-08-30 08:42:10
【问题描述】:
多年来,我一直在使用一个很长的公式来帮助我实现我在这里要问的问题。
基本上,我每个月都会下载我的信用卡对帐单并使用一堆公式将其汇总,以便更好地导入我的会计软件。我的公式所做的是它读取每一行中的描述,并根据该行的内容重写该描述。
例如:在我的信用卡中,它可能会显示“Starbucks Main St.”,因此它会在列表中查找该信息,如果找到“Starbucks”,它将重写(在公式所在的单元格中)到“咖啡”。 所以,我所拥有的是:
Column B > Original Description from Credit Card Statement
Column F > Keyword to be found
Column G > New description
问题是我使用的 IF 搜索 公式必须与该列表的大小一样长。它有效,但我想知道它是否不能简化。另一个“问题”是我不能使用数组公式,所以将公式放在电子表格的顶部,它会扩展到整个语句。
这是一个例子: https://docs.google.com/spreadsheets/d/14255Sz28ItSMZ32EebIFiAHQFxtyCJakN5q3gYUB-N0/edit#gid=0
有什么想法吗?
【问题讨论】:
-
在这里解决其他问题时,我找到了一个公式,至少可以使用 Regexmatch 在列表中查找关键字,并说明它的真假(匹配)。这是一个步骤,现在我需要使用该匹配来替换文本。我将其添加到 E 列的电子表格中。
=ARRAYFORMULA(REGEXmatch(LOWER(B2:B); LOWER(TEXTJOIN("|"; 1; G2:G))) -
好吧,又向前迈了一步。我设法将数组公式与正则表达式匹配,并复制了我最初使用的公式。它仍然很长,但至少我可以在上面使用数组公式,并且不需要将公式复制到所有行。
标签: regex google-sheets google-sheets-formula array-formulas gs-vlookup