0

我需要比较每个项目年度的第一次、中间和最后一次测试。这样做的测量涉及两个变量(1)水平(文本)和(2)分数(数字)。

有 52 个级别,我将其解释为一个变量,该变量将每个级别转换为一个数字:([IReady - Level #]). 我想将([IReady - Level #])变量与与每个测试相关联的分数加入:([Total Reading - Score_1965])

例如,我的([IReady - Level #])变量将指定的级别Early 1转换为数字 4。它会将下一个级别 ,Mid 1转换为数字 5。因此,个人在一个项目年度内进行的三项测试的原始结果可能如下所示:

  • Test1 级别和分数:早期 1 和 301
  • Test2 水平和分数:Mid 1 & 299
  • Test3 级别和分数:早期 1 和 300

但是,我们的目标是使用我的([IReady - Level #])变量,并与分数相结合,([Total Reading - Score_1965])以便这些测试结果如下所示——创建一个新的数字,该数字易于相互比较并可靠地反映级别间和级别内的进步:

  • Test1 等级和分数:4301
  • Test2 等级和分数:5299
  • Test3 水平和分数:4300

以下公式有效(此变量的名称为[zzLevel + Score concatenated]

= [IReady - Level #]+ "" +[Total Reading - Score_1965]

...但即使在我使用了ToNumber下面列出的函数之后,它也会将结果数字转换为字符串:

  • 在更大的变量上

    =`ToNumber([zzLevel + Score concatenated]`
    
  • [IReady - Level #]变量内

    = [IReady - Level #]=ToNumber(((If ([Total Reading - Level_1966] InList( "Emerging K"; "emerging K"; "emerging k")) Then 0...(而且我发现,即使要使其起作用,我也必须将[IReady - Level #]变量转换为“维度”与“度量”,以便将其读取为数字。)但确实如此,成功,现在把这个变量看成一个数字。所以现在我只需要弄清楚如何连接两个数字。

有人可以帮我把结果变成数字吗?我可能对此有疑问,但这是最关键的方面。

更新:在一位同事的帮助下,我找到了另一种方法来完成我需要的事情——我将我的级别#乘以 1,000:([IReady - Level #]*1000)……这样我就可以将这个新变量添加到分数上。现在,“Early 1”级别的测试结果为“301”,等于总和:“4,301”。但是,我仍然很好奇是否有办法连接两个数字(即数字“100”+“401”=100401——作为数字与字符串)。所以我仍然欢迎任何想法。

4

1 回答 1

0

有一个函数可以将数字转换为字符串:FormatNumber()

但是,如果您实际上不想格式化任何内容,而只想将数字转换为字符串以进行您提到的那种连接,那么最简单的方法就是向其中添加一个字符串。如果使用空字符串,则可以使用 ToNumber 将其转换回数字。例如:

  • ="Number: " + 100- 将变量分配给“数字:100”的字符串值
  • =""+100- 将变量分配给字符串值“100”
  • =100+""- 还将一个变量分配给字符串值“100”
  • =100+""+401- 将变量分配给字符串值“100401”
  • =""+100+401- 还将为字符串值“100401”分配一个变量
  • =100+401+""- 将变量分配给“501”的字符串值(从左到右的计算意味着在遇到字符串之前它不会转换为字符串,因此它会添加数字然后转换)
  • =ToNumber(100+""+401)- 将计算为数值 100401
于 2021-03-05T16:16:04.393 回答