用于数据验证和 if 函数的 Arrayformula

Arrayformula for the Data Validation and if function

操作项选项卡: A 列 - 分数 - 基于 F-N

列的计算结果

我想根据以下范围评估分数,并从下拉菜单中分配 B 列中的任务。

次要更新 89-50 本地化 49-20 主要更新 49-20 合并 49-20 无行动项目 90-100 重定向 0-19

保留下拉菜单很重要,因为数据将被手动检查并且状态可能会更改。

所以一般来说,我想执行 2 个步骤:

  1. 自动调整数据范围并分配状态
  2. 可以手动更改状态。

我试图通过数据验证来实现它,但完全失败了。

https://docs.google.com/spreadsheets/d/1WsnAQPrrL2o4me55ghVaQHx2ZE9aisgbEIDtG6HQFn4/edit?usp=sharing

首先,你的三个范围是冲突的,它仍然可以工作,但总是会得到第一个,即“本地化”。您应该更新 LocalizeMajor updateMerge 的范围,这样它们的范围就不会冲突.

冲突:

Localize
Major update
Merge

公式(A4):

=ifs(and(A4 < 90, A4 >= 50), "Minor update", 
and(A4 < 50, A4 >= 20), "Localize", 
and(A4 < 50, A4 >= 20), "Major update", 
and(A4 < 50, A4 >= 20), "Merge", 
and(A4 <= 100, A4 >= 90), "No action item", 
and(A4 < 20, A4 >= 0), "Redirect")

只需将公式拖到下面的单元格中(例如 A5-A9)。我没有使用 Arrayformula,因为如果您修改其范围内的单元格,它将失败。

输出:

将 F5 和 G5(提取的数据)修改为 0:

注:

  • 您可以在数据验证之上添加公式
  • 我将 B 列的数据验证从 =Legend!$A:$B 修改为 =Legend!$A:$A,因为我们只需要操作项,而不是范围。
  • 您仍然可以手动更改 B 列的值 但是 它不会在手动更改后再次自动更新,除非您再次将公式复制到该单元格并且它将覆盖您的手动输入并返回以根据列 F-N 值自动更新。
  • 这些更改已应用到您的 sheet,请检查它是否符合您的预期输出。