對某些行/列中的特定值求和你好呀,
我正在處理一個佈局奇怪的數據表。 如果您看到下表(不是實際數據,而是相似數據),我需要找到所有紅色數字的總和,然後找到所有綠色數字的總和。 最好創建一個附加列,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 << 新列("總計", 數字);
對於每一行( :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;回复:對某些行/列中的特定值求和是的! 這正是我所需要的。
回复:對某些行/列中的特定值求和您是否需要在“名稱”中的值定義的每個組中每第二行(從第一行開始)的總和?