将此数组公式转换为 google 电子表格

Convert this array formula for google spreadsheet

我发现如果在 google spreadsheet 上使用“if”“and”“or”公式,则不能使用数组公式。有人可以帮我修正我做的这个公式吗,如果可能的话我仍然希望它是一个数组公式

=ArrayFormula((IF(AND(H7:H="NSW",K7:K>=59,M7:M="是",OR(N7:N="是",O7:O= "是"),OR(P7:P="是",P7:P="不确定"),OR(Q7:Q="是",Q7:Q="不确定"),S7:S="是" ,OR(T7:T="是",T7:T="不确定"),OR(U7:U="否",U7:U="不确定"),OR(V7:V="否",V7 :V="不确定"),OR(W7:W="否",W7:W="不确定"),OR(X7:X="否",X7:X="不确定"),OR(Y7: Y="否",Y7:Y="不确定"),OR(Z7:Z="否",Z7:Z="不确定")), "通过", "失败")))

这里也是link到价差sheet:https://docs.google.com/spreadsheets/d/1F6P7oynTDzckDFMd279ON1udFYWSfo3gUX1Kw2RjDbE/edit?usp=sharing

如果删除 arrayformula 这个词,它就可以正常工作,但我将这个公式用于 google sheet 响应,所以我真的需要它是一个数组公式

你还没有提供link到传播sheet,所以我下面分享的是肉眼构建的,没有经过测试。但你可以试试这个:

=ArrayFormula( IF( (H7:H="NSW") * (K7:K>=59) * (M7:M="Yes") * ((N7:N="Yes") + (O7:O="Yes")) * ((P7:P="Yes") + (P7:P="Unsure")) * ((Q7:Q="Yes") + (Q7:Q="Unsure")) * (S7:S="Yes") * ((T7:T="Yes") + (T7:T="Unsure")) * ((U7:U="No") + (U7:U="Unsure")) * ((V7:V="No") + (V7:V="Unsure")) * ((W7:W="No") + (W7:W="Unsure")) * ((X7:X="No") + (X7:X="Unsure")) * ((Y7:Y="No") + (Y7:Y="Unsure")) * ((Z7:Z="No") + (Z7:Z="Unsure")), "Passed", "Failed") )

在数组公式中,AND等价于*OR 等价于 +.

ADDENDUM (经过补充评论和分享 link 传播sheet)

删除 AB 列中的所有内容(包括 header)并将其放入单元格 AB1:

=ArrayFormula( IF(A:A="",, IF(ROW(A:A)=1, "Eligibility", IF( (H:H="NSW") * (K:K>=59) * (M:M="Yes") * ((N:N="Yes") + (O:O="Yes")) * ((P:P="Yes") + (P:P="Unsure")) * ((Q:Q="Yes") + (Q:Q="Unsure")) * (S:S="Yes") * ((T:T="Yes") + (T:T="Unsure")) * ((U:U="No") + (U:U="Unsure")) * ((V:V="No") + (V:V="Unsure")) * ((W:W="No") + (W:W="Unsure")) * ((X:X="No") + (X:X="Unsure")) * ((Y:Y="No") + (Y:Y="Unsure")) * ((Z:Z="No") + (Z:Z="Unsure")), "Passed", "Failed") ) ) )

这将产生 header 和所有结果。空白行将留空。当前结果已经过检查并正确无误。

最好使用整列方法(例如,在顶部单元格中使用 A:A 而不是在第二个单元格中使用 A2:A),因为包含公式的 sheet 使用一个查询来引入该信息,以防您决定使用排序。