excel - #NUM!用户定义函数错误
问题描述
我创建了一个名为的新函数length
,它测试字符数,如果字符数大于 5,则显示“错误结果”。但是,函数的结果是#NUM
!如果测试是 5 个字符或更少,则会显示结果。
怎么了?
Function length (number as integer)
If ( Len (CStr (number)) > 5 ) then
length = "error"
End if
If ( Len (Cstr (number)) <6) then
length = "the count is true"
End if
End Function
解决方案
由于数据类型的性质,这将发生。更准确地说,您的函数将适用于高达(包括)32,767 的值。在此之上它将返回#NUM,因为您number
不能再适合您强制它成为的整数。
如果您定义number
asLong
数据类型,它将处理高达(包括)2,147,483,647 的值。
有关 和 之间差异的更详细说明,Integer
您Long
可以阅读 RubberDuck 在这篇文章中的回答:为什么使用整数而不是长整数?
推荐阅读
- hadoop - java.io.IOException: 等待 Mini HDFS 集群启动超时
- amazon-web-services - Bastion 如何提高 EC2/EMR 的安全性?
- nginx - Nginx 是否支持以明文形式从 http/1.1 升级 http/2 (h2c)
- plsql - 将嵌套数组发送到函数时,表达式类型错误
- android - 无法通过 RXJAVA Android 中的 Wrapper 类从 REST API 获取数据
- c++ - fin >> noskipws >> ch 总是假的
- openssl - OpenSSL - 如何从 1.1 版本以来的密码结构中获取缓冲区长度
- python - 如何从点簇中识别线?
- php - Php 无法用字符串反斜杠解码 Json
- wordpress - ERR_TOO_MANY_REDIRECTS WordPress 多站点 + Nginx