为什么if语句变成了#VALUE! closures并重新打开Excel文件后?

我在单元格中有一个大的嵌套if语句,变成了#VALUE! 保存后closures并重新打开文件。 如果那么声明是

=IF(H2="$0.10/$0.25",O2/0.25,IF(H2="$0.25/$0.50",O2/0.5,IF(H2="$0.50/$1",O2/1,IF(H2="$1/$1",O2/1,IF(H2="$1/$2",O2/2,IF(H2="$1/$3",O2/3,IF(H2="$2/$3",O2/3,IF(H2="$2/$5",O2/5,IF(H2="$3/$5",O2/5,IF(H2="$5/$5",O2/5,IF(H2="$5/$10",O2/10,IF(H2="$10/$20",O2/20,IF(H2="$10/$25",O2/25,IF(H2="$20/$40",O2/40,IF(H2="$25/$50",O2/50)))))))))))))))

为了给出一些背景,H2的价值在扑克游戏中是不同的。 例如,1美元/ 2美元意味着每人一手放入1美元,相邻玩家在看到他们的卡之前放入2美元。 价值$ 1 / $ 2分别被称为小盲注和大盲注。 追踪结果的常用方法是将所有货币值(单位为$)转换为大盲注单位。

该语句不会输出任何错误,并以大盲注为单位输出正确的值,具体取决于赌注,但是在closures并重新打开包含公式显示#VALUE!的单元格之后。

我google了问题是什么,并且读到最多可以有64个嵌套函数,这是可以的,因为我相信我只有16个。我也认为单元格格式化可能有问题。 例如,单元格O2具有单元格格式的货币,而包含这个嵌套的if语句的格式单元格格式一般。 我在一个单独的工作表(相同的文件)上testing了这个想法,并没有导致相同的错误。

我拥有的版本是2011年在一个macbook上运行。

谢谢你的帮助!

我无法在Windows Excel 2010中重现此问题。我的build议是简化公式,并尝试如果问题仍然存在。 你可以这样做:

 =O2/MID(H2,FIND("$",H2,2)+1,LEN(H2)) 

find第二个“$”,提取后面的文本(大盲注),并用它除O2。