带有矩阵判定的数组公式

编程语言 2026-07-11

我通过一家非营利组织运营着一个小型的农村健康促进/防止虐待项目,我们让托儿服务提供者和培训人员使用Google表单提交他们的工时和里程。当他们在提供直接服务时,需要满足最低工时要求;在培训、规划或咨询时,则没有最低工时要求。最低要求因具体角色而异。

我们还没想清楚如何破解这个数组公式,才能在四种情形下都选出正确的金额。我们已经找出几种在四种情形下能得到三分之四的方法,但现在完全卡住了。当前把这个数组公式放在V1的位置,在所有情形下都能工作,除了矩阵交点 1 (Direct Service)T>U 的情况:

=ArrayFormula(IFERROR(IF(ROW(A:A) = 1, "TOTAL Hourly Pay", IF((S:S = 1) * (T:T > U:U), TEXT(T:T, "$0.00"), TEXT(U:U, "$0.00")))))

问题似乎是公式总是选择U 列的数值,从不选择T 列的数值,尽管公式似乎是在指示它反映下面的矩阵。

以下是我们需要在数组公式中体现的决策矩阵:

T>U U<T
1(直接服务) V = T V = U
2(非直接服务) V = U V = U

以下是谷歌表格中相关部分的截图,错误的解已高亮显示。矩阵的四种情形都覆盖了三种不同的角色,每种角色有不同的费率和最低要求。

  • 表单提交信息示例;一切处理妥当:

表单提交信息示例;一切处理妥当
点击图片放大 * 问题中的列,具体是V 列,在所有情形下都没有正确选择金额:

问题中的列,具体是 V 列,在所有情形下都没有正确选择金额

解决方案

try:

=INDEX(VSTACK("TOTAL Hourly Pay", 
 IF((S2:S = 1) * (T2:T > (U2:U*1)), TEXT(T2:T, "$0.00"), TEXT(U2:U*1, "$0.00"))))
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章