找回密码
 立即注册

QQ登录

只需一步,快速开始

carl_chen 悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2023-9-18 10:54  /   查看:4045  /  回复:25
200金币
本帖最后由 carl_chen 于 2023-9-18 16:08 编辑

demo ->  

在页面设置如下if公式和求和:


调试运行开始时,第二个if公式出错,如下:

调试运行后,修改两个输入框为30, 第一个if公式 出错,如下图。第二个if公式正确,不管输入怎样修改。


我的问题是:
问题1 为什么调试运行时,第二个if公式 出错?
问题2 为什么修改输入框后, 第二个if公式变为正确了,第一个if公式确出错了?
问题3 为什么 =B3+B4 这个公式,总是正确?
问题4 为什么 =D3+D4 这个公式,会提示 #VALUE!错误?

补充:
我隐约觉得这确实是一个和数据类型有关的问题。
不过,数据类型是在什么时候确定的?  数据类型在哪些公式中会有作用? 空字符串和0字符串有什么区别? 这些问题没有明确解释,导致现在很容易混淆!!!
当然,这不仅只是活字格的问题,Excel也有这样的问题。



附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

有,不好意思,整理好几次了,每次都没整理完。也在想怎么才能把这个问题说明白。 用测试步骤来说吧, 我们可以做了这样一个测试, 1.页面上放置一个文本框1,此时文本框1的单元格格式默认为文本,在设计器中给文本框1单元格设置默认值15,运行后文本框1的默认值为文本"15"。 2.页面上放置一个新的文本框2,修改文本框2的单元格格式为数值,在设计器中给文本框2单元格设置默认值15,运行后文本框2的默认值为数字15。 3.页 ...

25 个回复

倒序浏览
最佳答案
最佳答案
David.Zhong讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2023-9-18 10:54:43
来自 26#
carl_chen 发表于 2023-9-27 16:07
版主大大, 请问这个问题可有回复。

有,不好意思,整理好几次了,每次都没整理完。也在想怎么才能把这个问题说明白。
用测试步骤来说吧,

我们可以做了这样一个测试,
1.页面上放置一个文本框1,此时文本框1的单元格格式默认为文本,在设计器中给文本框1单元格设置默认值15,运行后文本框1的默认值为文本"15"。
2.页面上放置一个新的文本框2,修改文本框2的单元格格式为数值,在设计器中给文本框2单元格设置默认值15,运行后文本框2的默认值为数字15。
3.页面上再放置一个新的文本框3,文本框3单元格格式默认为文本,在设计器中给文本框3单元格设置默认值15,再此基础上把文本框单元格格式修改为数值,运行后文本框3的默认值为仍为文本"15"。
以上测试可得出结论,单元格的默认值,是以设置默认值时单元格的单元格格式决定的。
4.F5运行demo,修改文本框1的值为20,修改后文本框1为文本"20";
5.F5运行demo,修改文本框2的值为20,修改后文本框2的值为数字20;
6.F5运行demo,修改文本框3的值为20,修改后文本框3的值为数字20,
以上测试可得出结论,运行时,如果有修改单元格的值,是以单元格最后设置的单元格格式决定的。

综上可得,单元格的值是文本还是数字由单元格格式决定的。设置默认值时,以当时设置默认值时单元格格式为准,运行时,以当前单元格格式为准。

回复 使用道具 举报
VVANVI悬赏达人认证
论坛元老   /  发表于:2023-9-18 11:01:59
2#
老铁, 你检查下 ,是不是有些单元格用了绝对引用

没有工程 只能猜测了,  最好把异常的工程传上来看看
回复 使用道具 举报
fanhuayimeng
论坛元老   /  发表于:2023-9-18 11:02:32
3#
本帖最后由 fanhuayimeng 于 2023-9-18 11:05 编辑

把所有的单元格式都设置成数值,


然后公式调整一下(重点)

IF(B3>60,100,0)

回复 使用道具 举报
VVANVI悬赏达人认证
论坛元老   /  发表于:2023-9-18 11:08:11
4#
本帖最后由 VVANVI 于 2023-9-18 11:10 编辑

看了工程,出错的原因是 ,你用if 把结果变成“”是文本, 而文本+数字是不同类型, 建议 你把符合条件的变成0  就不会报错, 要为了美观可以格式化一下把0 格式化从‘-’短横



已经不报错了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
carl_chen悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2023-9-18 11:22:12
5#
fanhuayimeng 发表于 2023-9-18 11:02
把所有的单元格式都设置成数值,

按您的建议, 问题1 仍然存在!demo->

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
fanhuayimeng
论坛元老   /  发表于:2023-9-18 11:26:24
6#
carl_chen 发表于 2023-9-18 11:22
按您的建议, 问题1 仍然存在!demo->

两个公式都调整了么?B3,B4只有值变动的时候公式才生效,如果有初始值的话要在页面加载命令中设置一下公式。
回复 使用道具 举报
carl_chen悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2023-9-18 11:34:40
7#
VVANVI 发表于 2023-9-18 11:08
看了工程,出错的原因是 ,你用if 把结果变成“”是文本, 而文本+数字是不同类型, 建议 你把符合条件的变 ...







追问如上。


我隐约觉得这确实是一个和数据类型有关的问题。
不过,数据类型是在什么时候确定的?  数据类型在哪些公式中会有作用? 空字符串和0字符串有什么区别? 这些问题没有明确解释,导致现在很容易混淆!!!
当然,这不仅只是活字格的问题,Excel也有这样的问题。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
carl_chen悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2023-9-18 11:42:15
8#
本帖最后由 carl_chen 于 2023-9-18 11:43 编辑
fanhuayimeng 发表于 2023-9-18 11:26
两个公式都调整了么?B3,B4只有值变动的时候公式才生效,如果有初始值的话要在页面加载命令中设置一下公 ...

“如果有初始值的话要在页面加载命令中设置一下公式。” <--- 这个说法好像有点问题,有初始值的公式应该也是可以正确执行的,见 问题3。
如果有您说的必须要在页面加载命令设置的情况,可否举例说明呢?
回复 使用道具 举报
VVANVI悬赏达人认证
论坛元老   /  发表于:2023-9-18 11:53:33
9#
本帖最后由 VVANVI 于 2023-9-18 11:55 编辑

这个我测试了, 你是加载的时候, 公式的目标单元格有数据,公式没有计算  ,但是编辑的时候公式没有问题!!    你把默认值清除  录入新数据, 是没有问题的, 或者 你加一段刷新页面的js代码 用于重新计算公式!

不同类型的数据  不能计算, 需要运算的时候要么 是 隐式转换, 要么显示转换, 这个没法避免的      数字和文本不能相加也是正常的  
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部