请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

carl_chen 悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2023-9-18 10:54  /   查看:107  /  回复:23
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也有这样的问题。



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

23 个回复

倒序浏览
VVANVI悬赏达人认证
银牌会员   /  发表于:4 天前
沙发
老铁, 你检查下 ,是不是有些单元格用了绝对引用

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

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


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

IF(B3>60,100,0)

回复 使用道具 举报
VVANVI悬赏达人认证
银牌会员   /  发表于:4 天前
地板
本帖最后由 VVANVI 于 2023-9-18 11:10 编辑

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



已经不报错了

本帖子中包含更多资源

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

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

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

本帖子中包含更多资源

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

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

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







追问如上。


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

本帖子中包含更多资源

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

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

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

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

不同类型的数据  不能计算, 需要运算的时候要么 是 隐式转换, 要么显示转换, 这个没法避免的      数字和文本不能相加也是正常的  
回复 使用道具 举报
fanhuayimeng
论坛元老   /  发表于:4 天前
10#
本帖最后由 fanhuayimeng 于 2023-9-18 12:12 编辑

我是这样理解的,不是正确与否:
因为页面上你设置的是文本框,而公式中日数值的对比。如果把文本框设置成数字就没这个问题了。

如果必须要用文本框的话那么请将公式调整为: =IF(B4>"60",100,0)

本帖子中包含更多资源

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

x
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部