0

以下はいくつかのデータです:

    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」から値を取得し、それらを使用して列スコアの行番号を選択しようとしています。たとえば、テストAIの場合、スコアの1行目と2行目の値である100と62の合計を求めます。テストBIは、100、62、および90の合計を求めています。これを実行する方法について誰かアイデアがありますか?Excelの間接関数に似たものを使用したいですか?ありがとうございました

4

1 に答える 1

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
于 2012-02-07T15:53:24.020 に答える