您能发现这个 Excel 函数中的错误吗?

您能发现这个 Excel 函数中的错误吗?

一位用户来问我为什么这个功能没有按照他期望的那样运行。

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(F7, "5", "0"), "4", "2"), "3", "3"), "2", "4"), "1", "5")

你能弄清楚用户认为它应该做什么以及为什么它没有按预期工作吗?

答案1

看起来意图是改变单元格中的某些数字,以便将 5 替换为 0、4->2、3->3、2->4 和 1->5。

问题是它单步因此,在将 4 更改为 2 之后,您稍后会更改所有 2(包括那个4s) 变成 4s。

例子:

12345 //lets look at each step...
12340 // 5 -> 0
12320 // 4 -> 2
12320 // 3 -> 3  : why is this step used?
14340 // 2 -> 4  : changes the 4 that was changed above back again
54340 // 1 -> 5

54320 // expected result?

如果你想坚持使用这种方法,你需要将 4 改为不相关的数字(比如“X”),然后(将 中的 X 改为 2。

答案2

这是一个更简单的方法(如果您只更改个位数):

=IF(6-F7=1,0,6-F7)

相关内容