Excel 公式在两个单元格中搜索字符串,如果字符串不同,则乘以相应的数字

Excel 公式在两个单元格中搜索字符串,如果字符串不同,则乘以相应的数字

我想比较两个特定单元格,每个单元格都包含一个字符串。该字符串由一个或两个数字的数值组成,后跟字母HW。或者单元格可以只包含零(没有字母)。例如,单元格可以包含3H2W0

我想根据这两个单元格在第三个单元格中输出一个值。如果两个单元格都以相同的字母结尾,我希望公式输出值零 (0)。如果它们以不同的字母结尾,我希望公式将两个单元格的数值相乘。如果任一单元格只包含零,则输出值应为零。

例子:

  • 3H相比2W成为3 x 2,输出6
  • 3H2H输出进行比较0,因为字母匹配。
  • 3H0输出进行比较0,因为其中一个值是0

在工作表中,数值是可变的(最多为99),但字母永远只能是H或,W并且始终紧跟在数字之后(条目的情况除外0)。

答案1

假设两个值分别位于单元格 A1 和 B1 中,结果位于 C1 中。您可以在 C1 中使用此值:

=IF(RIGHT(A1,1)=RIGHT(B1,1),0,LEFT(A1,LEN(A1)-1)*LEFT(B1,LEN(B1)-1))

这假设没有不规则之处,例如任何地方都没有错误的空格。它会比较两个单元格最右边的字符,如果匹配则返回零。否则,它会将最右边字符以外的所有内容相乘。提取最右边字符左侧的所有内容会得到一个文本字符串,但 Excel 足够聪明,可以将其视为数字。

您在注释中指出其中一个值可能为单独的零(后面没有字符),在这种情况下输出应为零。为了避免出现错误情况,您需要处理这样的单元格,您可以通过添加测试来做到这一点。此方法还将处理空白单元格:

=IF(OR(RIGHT(A1,1)=RIGHT(B1,1),A1=0,B1=0),0,LEFT(A1,LEN(A1)-1)*LEFT(B1,LEN(B1)-1))

相关内容