对某些行/列中的特定值求和你好呀,
我正在处理一个布局奇怪的数据表。 如果您看到下表(不是实际数据,而是相似数据),我需要求出所有红色数字的总和,然后是所有绿色数字的总和。 最好创建一个额外的列,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;回复:对某些行/列中的特定值求和是的! 这正是我所需要的。
回复:对某些行/列中的特定值求和在由“名称”中的值定义的每个组中,您是否需要每隔一行(从第一行开始)的总和?