【发布时间】:2020-11-09 23:17:37
【问题描述】:
假设我有一个包含 3 个变量的表:var1、var2、var3 和另一个参考表。
现在我想创建另一个变量:var4; var4 是根据 var1、var2 和 var3 以及参考表计算得出的。
我可以创建一个宏来执行此操作(对于每一行),但我不知道如何将宏(表)中的值传递到结果中。我想知道我们如何通过创建一个函数来获取值而不是宏来做到这一点?
我知道如果我可以创建一个这样的函数(这个函数将包括数据步骤和过程摘要),事情会很简单:
var4 = myfunction(var1, var2, var3).
更新:
我的表格参考是:
age range1 range2 range3
1 10 1 8
2 0 4 1
3 4 6 1
4 6 5 2
5 10 5 6
所以我希望我的函数变成这样:
var4 = myfunction(var1, var2, var3),例如 var1 = 2, var2 = 2, var3 = 5:
取range2之和(对应var1 = 2);从第 2 行到第 5 行(对应于 var2= 2 和 var3 = 5),结果将是:4 + 6 + 5 + 5。
提前致谢。
【问题讨论】:
-
请详细说明您的“功能”是什么。还有你从另一张桌子上得到什么信息?你的意思是你需要两个表之间的匹配观察来确定在“函数”中使用什么数字?或者该函数是否需要在每次计算中使用来自另一个表的所有信息。函数需要使用多大的表?小到可以放入内存?
-
您将不得不提供更多详细信息,我怀疑这是执行此任务的效率最低的方法。
-
可能不需要宏。参考表中有什么(结构和值),它在计算中起什么作用?
-
我刚刚更新了我的问题,请看一下。
-
所以听起来你的函数参数更好的名字是:
newvar = myfunction(column_number,first_row,last_row)?