处理Excel UDF中的追踪单元?

可能重复:
在UDF上使用Excel内置函数

我的Excel UDF当前返回一个由数字数据和单位组成的string,例如1234 kg 。 用户阅读简单易懂,但问题在于它会阻碍Excel内置函数(如Sum()Average()Average()一些基本计算。

对于上述格式,即1234 kg ,使用公式=Sum()将不会带来正确的结果,除非拖尾单位kg被移除。

所以我的问题,有什么办法可以让我们在保持单位的同时进行计算? Excel可以识别1234 kg作为数值而不是string值吗?

你可以通过string操作来提取数字
=VALUE(LEFT(A1,FIND(" kg",A1)))
将从单元格A1中的“1234千克”返回1234
但这意味着您必须操作UDF单元格的内容

我会更简单,如果:

  • 你的UDF返回一个数值(1234)
  • 然后将自定义格式应用于UDF的单元格以添加“kg”,同时将单元格保留为数字(例如, #### " kg"自定义格式)