根据关键字为行分配值

根据关键字为行分配值

我的银行对账单有一个描述栏,告诉我我在哪里花了钱或从哪里得到了钱。根据这些信息,我手动填写一栏,以便对这些费用进行分类 - 客户 A 的所有交易,亚马逊的所有交易。这是基于我阅读描述并找到一个关键字。我可以自动执行这个过程吗?我尝试了一个非常长的公式 - if(search("amazon",a1),"Amazon"), elseif(search ........ 它太复杂了,容易出错。大约有 20-30 个类别。

答案1

您的公式方法可以使您接近目标,但正如您所说,长公式很难排除故障,而使用 SEARCH 时,当未找到目标时,您必须处理错误值。如果您将问题分解为单个关键字,则有一个简单的解决方案。这是一个版本,我将逐步介绍我所做的操作。

截屏

A 列包含描述。B 列是为交易找到的关键字。以 C 开头的列是关键字目标,每列一个目标作为列标题。作为一次性任务,请填写关键字。您可以随时添加关键字,只需将公式从相邻列复制到新列中即可。

C2 中的公式可以横向和纵向复制。这些关键字列中的每个单元格都会在该行的描述中查找该列的关键字。我在 C2 中使用的公式是:

=IF(ISERROR(SEARCH(C$1,$A2)),"",C$1)

这将搜索目标关键字,如果找到则显示该关键字。否则,将显示空白。如果您的目标词不总是关键字,则可以用关键字替换公式中的最后一个参数。但是,您将无法直接将公式复制到任何单元格中而无需修改。

B2中的公式为:

=C2 & D2 & E2 &...

(添加空格是为了便于阅读。)如果您认为可能会添加更多关键字,您可以先将一些额外的列连接到公式中。这只是连接该行的关键字搜索结果。应该只有一个匹配的关键字,因此将其与其他关键字的一堆空白串在一起即可得到交易的匹配关键字。如果没有关键字匹配,则单元格将为空白。如果您稍后添加更多关键字,请确保 B2 包含新的列引用,然后将其复制到该列。

美学

如果您不想看到关键字帮助列,您可以隐藏它们或将其粘贴在视线之外的区域。

如果您想在一个不依赖辅助列的公式中完成所有操作,请从这种方法开始构建公式。这样您就可以创建一个简短的公式,并将其复制到其他列和行以验证一切是否正常。此时,您可以通过替换将 B2 变成一个综合公式。

在 B2 中,用 C2 中的公式替换 C2 引用(复制并粘贴 C2 中的公式,等号除外,以替换 C2 单元格引用),然后对每个单元格引用重复此操作。现在您有一个仅引用关键字列表的公式(如果需要,您可以将其移动到垂直列表)。

如果您甚至不需要关键字列表,请用实际关键字替换关键字单元格引用。然后您将拥有一个完全独立的公式。当 B2 符合您的喜好时,将其复制到该列。

相关内容