Google sheets 在谷歌表单中计算VIP级别

Google sheets 在谷歌表单中计算VIP级别,google-sheets,google-sheets-formula,Google Sheets,Google Sheets Formula,我必须解决一个问题,根据用户每月的表现为他们分配合适的VIP级别。如果获得分数,用户将被移动到特定级别。 我通过过滤器功能很容易做到这一点。 现在,为了保持上个月的状态,用户必须至少获得一定的分数。如果他不这样做,他将被降级到以前的级别 例如: VIP级别如下所示: +---------+----------+------------+------------+-------------------+ | level # | Level | Min Points | Max Points

我必须解决一个问题,根据用户每月的表现为他们分配合适的VIP级别。如果获得分数,用户将被移动到特定级别。 我通过
过滤器
功能很容易做到这一点。 现在,为了保持上个月的状态,用户必须至少获得一定的分数。如果他不这样做,他将被降级到以前的级别

例如:

VIP级别如下所示:

+---------+----------+------------+------------+-------------------+
| level # | Level    | Min Points | Max Points | Keep level Points |
+---------+----------+------------+------------+-------------------+
| 1       | BRONZE   | 0          | 1875       | 0                 |
+---------+----------+------------+------------+-------------------+
| 2       | SILVER   | 1875       | 9375       | 1875              |
+---------+----------+------------+------------+-------------------+
| 3       | GOLD     | 9375       | 37500      | 9375              |
+---------+----------+------------+------------+-------------------+
| 4       | PLATINUM | 37500      | 93750      | 37500             |
+---------+----------+------------+------------+-------------------+
| 5       | DIAMOND  | 93750      | 187500     | 93750             |
+---------+----------+------------+------------+-------------------+
| 6       | ASTEROID | 187500     | 562500     | 187500            |
+---------+----------+------------+------------+-------------------+
例如,如果一个用户当月产生40000点积分,他将被提升为白金。这也意味着,下个月,如果他没有达到更高的水平(钻石或小行星),他需要创造至少37500点才能保持他的水平,否则他将被降级为金牌

以一个特定的用户示例为例,我可以构建一个模型来为每个月找到合适的级别,但是使用几行来遍历各个月。(谷歌版)

这一结果可以概括为:

+-------+---------+---------+---------+---------+---------+---------+
| Month | 07-2019 | 08-2019 | 09-2019 | 10-2019 | 11-2019 | 12-2019 |
+-------+---------+---------+---------+---------+---------+---------+
| UserX | 1765    | 15408   | 1383    | 1499    | 9379    | 4161    |
+-------+---------+---------+---------+---------+---------+---------+
| Level | BRONZE  | GOLD    | SILVER  | BRONZE  | GOLD    | SILVER  |
+-------+---------+---------+---------+---------+---------+---------+
现在,有数百个用户,我想找到一个公式来计算每个月的正确级别,而不需要使用几行(每个用户仅1行)


有人能帮您找到解决方案吗?

将其粘贴到需要的位置,然后拖动到右侧:

=ARRAYFORMULA(IF($A4:$A9="",,IFNA(VLOOKUP(B4:B9, 
 {0,      "BRONZE"; 
  1875,   "SILVER";
  9375,   "GOLD";
  37500,  "PLATINUM";
  93750,  "DIAMOND";
  187500, "ASTEROID"}, 2, 1))))
=ARRAYFORMULA(IFNA(VLOOKUP(IF(IF($A4:$A9="",,IFNA(VLOOKUP(C4:C9, 
 {0, 1; 1875, 2; 9375, 3; 37500, 4; 93750, 5; 187500, 6}, 2, 1)))+1< IF($A4:$A9="",,IFNA(VLOOKUP(B4:B9, 
 {0, 1; 1875, 2; 9375, 3; 37500, 4; 93750, 5; 187500, 6}, 2, 1))),   IF($A4:$A9="",,IFNA(VLOOKUP(B4:B9, 
 {0, 1; 1875, 2; 9375, 3; 37500, 4; 93750, 5; 187500, 6}, 2, 1)))-1, IF($A4:$A9="",,IFNA(VLOOKUP(C4:C9, 
 {0, 1; 1875, 2; 9375, 3; 37500, 4; 93750, 5; 187500, 6}, 2, 1)))), 
 {1, "BRONZE"; 
  2, "SILVER";
  3, "GOLD";
  4, "PLATINUM";
  5, "DIAMOND";
  6, "ASTEROID"}, 2, 0)))


更新: 对于排名下降的1,在B13和C13中使用上述公式粘贴此公式并向右拖动:

=ARRAYFORMULA(IF($A4:$A9="",,IFNA(VLOOKUP(B4:B9, 
 {0,      "BRONZE"; 
  1875,   "SILVER";
  9375,   "GOLD";
  37500,  "PLATINUM";
  93750,  "DIAMOND";
  187500, "ASTEROID"}, 2, 1))))
=ARRAYFORMULA(IFNA(VLOOKUP(IF(IF($A4:$A9="",,IFNA(VLOOKUP(C4:C9, 
 {0, 1; 1875, 2; 9375, 3; 37500, 4; 93750, 5; 187500, 6}, 2, 1)))+1< IF($A4:$A9="",,IFNA(VLOOKUP(B4:B9, 
 {0, 1; 1875, 2; 9375, 3; 37500, 4; 93750, 5; 187500, 6}, 2, 1))),   IF($A4:$A9="",,IFNA(VLOOKUP(B4:B9, 
 {0, 1; 1875, 2; 9375, 3; 37500, 4; 93750, 5; 187500, 6}, 2, 1)))-1, IF($A4:$A9="",,IFNA(VLOOKUP(C4:C9, 
 {0, 1; 1875, 2; 9375, 3; 37500, 4; 93750, 5; 187500, 6}, 2, 1)))), 
 {1, "BRONZE"; 
  2, "SILVER";
  3, "GOLD";
  4, "PLATINUM";
  5, "DIAMOND";
  6, "ASTEROID"}, 2, 0)))
=数组公式,
{0,1;1875,2;9375,3;37500,4;93750,5;187500,6},2,1))+1


你能在你的表格中提供所需输出的示例吗?我已经添加了一张“所需结果”表格,以显示上面包含的谷歌表格中所需的输出。我想他只想要1级的降级,从金级到银级Hello genius;)的确很聪明。我在您的演示中看到的唯一问题是cell C17。用户被提升为ASTEROID,但在接下来的一个月,他被降级到最低级别(铜牌),此时他只能降低一个级别(降到钻石级)@player0您能帮助找到一种方法,在两次降级后保持降级一致吗?