2017-06-13 185 views
0

在Google表格中工作我正在制作成绩册。在成绩册中有不同的分配类型,它们可以从下拉列表中选择不同的权重。我想...基于列选择筛选数据

  1. 平均分配一样(会出现3个值)
  2. 适当地称他们(0.1基线,0.7为关键的0.2加速。)
  3. 添加的所有值一起分成1个等级的比例。
  4. 在适合的学生的成绩报告表上显示他们。

我想这是动态的,所以如果我改变赋值类型(或任何其他值),等级会适当地改变。

我的MWE可以找到here

回答

0

AverageIf函数将执行您所需的操作。所以,这样的代码:

=averageif(B$3:G$3,"Baseline",B4:G4) 

旁边的学生坐在第4排(这是拖动,因此行将更新),检查针对你的第三排作业类型的值(3美元符号固定,所以可拖动)将实现你的目标1.

一旦你这样做的每一个平均值,可以定义一个多列=0.1*baseline avg+0.7*critical+0.2*accelerated [不完全是,我pseudocoding]实现你的其他3个目标,我想。

+0

请参阅https://docs.google.com/spreadsheets/d/1z5NBjwQ8edN-ssNDP72p2uP750QvqESR1ND2GUUOVbo/edit?usp=sharing我相信这是您MWE的最低工作解决方案 –

+0

我不得不稍微调整一下来自另一张表的信息。但它像一个魅力。谢谢! –

+0

我想添加另一个条件,它似乎与嵌套的if语句一起工作,但我想这是更复杂,它不工作。 '= averageif(B $ 3:G $ 3,“Baseline”,B4:G4,iferror(1/0,0.1))' 基本上,我试图让代码不计算那个加权值不存在。 –