SPSS使用一个单元格的值来调用另一个单元格

时间:2012-02-07 15:05:00

标签: conditional spss

以下是一些数据:

    Test Day1 Day2 Score
    A 1 2 100
    B 1 3 62
    C 3 4 90
    D 2 4 20
    E 4 5 80

我正在尝试从“day”和“day2”列中获取值,并使用它们来选择列分数的行号。例如,对于测试A,我想找到100和62的总和,因为这是第一和第二行得分的值。测试B我想找到100,62和90的总和。 有没有人对如何做这个有任何想法?我想在Excel中使用类似于间接功能的东西?谢谢

1 个答案:

答案 0 :(得分:1)

诀窍是将变量“Score”转换为一行。想不出如何避免SAVE / GET的简单方法 - 改进的余地。

file handle tmp
 /name = "C:\DATA\Temp".

***.

data list free /Test (a1) Day1 (f8) Day2 (f8) Score (f8).
begin data
A 1 2 100
B 1 3 62
C 3 4 90
D 2 4 20
E 4 5 80
end data.

comp f = 1.

var wid all (12).

save out "tmp\data.sav".


***.

get "tmp\data.sav"
 /keep score.

flip.

comp f = 1.

match files
 /file "tmp\data.sav"
 /table *
 /by f
 /drop case_lbl.

comp stat = 0.
do rep var = var001 to var005
 /k = 1 to 5.
if range(k, Day1, Day2) stat = sum(stat, var).
end rep.

list Test Day1 Day2 Score stat. 

结果:

Test     Day1     Day2    Score     stat

A           1        2      100      162
B           1        3       62      252
C           3        4       90      110
D           2        4       20      172
E           4        5       80      100


Number of cases read:  5    Number of cases listed:  5