我有一个看似复杂的请求,我似乎无法理解。我会尽力简化...
我有一列 (A) 包含数字值,还有一列 (B) 包含文本。我想创建一个公式,将 (B) 中字符串的最后 5 个字符与另一列 (C) 进行比较,如果发现 (B) 中的最后 5 个字符与 (C) 中的字符匹配,则将 (C) 中匹配单元格相邻单元格中的值(在另一列中,(D))添加到 (A)。
因此,例如,如果我在 (B1) 中以 ABCD^-EF 开头,我希望将 D^-EF 与 (D1-D20) 中的值匹配(例如,D1 为 A^-EF,D2 为 B^-EF,等等)。如果最后 5 个与 (D1-D20) 中的一个值匹配,那么我希望在 (E1-E20) 中与匹配字符串直接相邻的位置添加一个值,并将其添加到 (A1) 中的值中。因此,为了完成该示例,如果 (B1) 中的值为 ABCD^-EF,则 (D4) 中的值为 D^-EF,因此与 (B1) 的最后 5 个匹配,(E4) 中的值为 10,因此我希望将 10 添加到 (A1)。
本质上,我试图做的是将最后 5 个字符与一个值关联起来,然后每当这 5 个字符结束关联字符串时就添加该值。我希望这能说得通,我想这是我能描述得最好的了。
如果有人对此有任何想法,我将不胜感激。我认为在 Excel 中可以做到这一点,所以如果没有必要,我想避免使用脚本。
答案1
您需要的是 E 列中的如下 vlookup 函数:
=VLOOKUP(RIGHT(B1,5),C:D,2)+A1
vlookup 将在 c 列中搜索 B 中的最后五个字符,然后返回 D 中的匹配值。然后,将该值添加到 A 列中的值。