對某些行/列中的特定值求和你好呀,
我正在處理一個佈局奇怪的數據表。 如果您看到下表(不是實際數據,而是相似數據),我需要求出所有紅色數字的總和,然後是所有綠色數字的總和。 最好創建一個額外的列,Bob 的每一行將讀取紅色總和,Bill 的每一行將讀取綠色總和。 誰能給我一個關於我如何去做這件事的概述?
| 姓名 | 年齡 | 測試 1 | 測試 2 | 測試 3 |
| 鮑勃 | 1個 | 10 | 22 | 34 |
| 鮑勃 | 1個 | 10 | 22 | 34 |
| 鮑勃 | 2個 | 12 | 24 | 36 |
| 鮑勃 | 2個 | 12 | 24 | 36 |
| 鮑勃 | 3個 | 14 | 26 | 38 |
| 鮑勃 | 3個 | 14 | 26 | 38 |
| 賬單 | 1個 | 16 | 28 | 40 |
| 賬單 | 1個 | 16 | 28 | 40 |
| 賬單 | 2個 | 18 | 30 | 42 |
| 賬單 | 2個 | 18 | 30 | 42 |
| 賬單 | 3個 | 20 | 32 | 44 |
| 賬單 | 3個 | 20 | 32 | 44 |
提前致謝!
回复:對某些行/列中的特定值求和很有幫助! 謝謝你!!
回复:對某些行/列中的特定值求和很抱歉,但在匆忙中我沒有發現這些行是真正重複的事實(正如您可能從我的示例中看到的那樣)。 我也不理解您想對列求和。
如果你可以依賴這個嚴格的複制,那麼你可以這樣做:
NamesDefaultToHere(1);
// Make some test data: Note that pairs of rows are duplicates!
dt = New Table( "Test Data",
New Column( "Group", Numeric, "Nominal", Values([1,1,1,1,1,1,2,2,2,2,2,2])),
New Column( "Test 1", Numeric, "Ordinal", Values([2,2,3,3,4,4,5,5,6,6,7,7])),
New Column( "Test 2", Numeric, "Ordinal", Values([1,1,2,2,3,3,4,4,5,5,6,6]))
);
// List of columns for Summary
colList = {:Test 1, :Test 2};
// Summary
dt2 = dt << Summary(Group( :Group ), Sum( Eval(colList) ), StatisticsColumnNameFormat("column"));
// Sum over the columns in the summary, but also divide by 2 to account for the duplicate rows in dt
// (1) Template exprtession
CMD = Expr(dt2 << New Column( "Required Sum", Numeric, "Continuous", Formula( Sum(colsTBD) / 2 )));
// (2) Substitute in the columns we have
SubstituteInto(CMD, Expr(colsTBD), Eval(colList));
// (3) Use the expression we have built
CMD;
回复:對某些行/列中的特定值求和謝謝,
但是,假設我想簡單地為一系列列添加特定行中的所有值。我發現下面的這段代碼我認為將所有單元格添加到列號 TR 和 TD 之間的一行中。 但是,它只是返回單元格 TD 的值。 為什麼會這樣,我怎樣才能讓它發揮作用?
TotRow = dt << 獲取列名(數字);
TR = N 項(TotRow);
TD = N 項(colnamesSix);
dt << 新列(“總計”,數字);
For Each Row( :Total[] = Sum( Column(TotRow[TD :: TR])[]) );
回复:對某些行/列中的特定值求和你不能使用分析 - 製表嗎?將姓名後跟年齡放在行中,然後使用測試 1 的平均值(以及測試 2 和測試 3 的列)- 平均值是為了避免重複計算重複值。然後把它做成一個數據表。從那裡,你幾乎就是你想去的地方。
回复:對某些行/列中的特定值求和在每個組中的偶數行的簡單情況下,您可以執行以下操作:
NamesDefaultToHere(1);
// Make some test data
dt = New Table( "Test Data",
Add Rows( 20 ),
New Column( "Group", Numeric, "Nominal", Values(VConcat(J(10, 1, 1), J(10, 1, 2)))),
New Column( "Test 1", Numeric, "Ordinal", Values(J(20, 1, RandomInteger(1,30)))),
New Column( "Test 2", Numeric, "Ordinal", Values(J(20, 1, RandomInteger(1,100))))
);
// Add a 'Subgroup' column
dt << NewColumn("Subgroup", Numeric, Nominal, Values(Repeat((1::2)`, 10)));
// Make a summary table
dt2 = dt << Summary(Group( :Group, :Subgroup ), Sum( :Test 1 ), Sum( :Test 2 ));
dt2 << selectWhere(:Subgroup == 2);
dt2 << hideAndExclude;
dt2 << clearSelect;回复:對某些行/列中的特定值求和是的! 這正是我所需要的。
回复:對某些行/列中的特定值求和在由“名稱”中的值定義的每個組中,您是否需要每隔一行(從第一行開始)的總和?