我正在尝试使用 ArrayFormula 设置最后一列(“状态”)的状态以显示“加强”、“疫苗接种”、“宗教豁免”,这样我就不必每次添加员工时都添加公式到列表中。
={"Covid Status";
ARRAYFORMULA (
IF (
A2:A = "Religious Exemption" ,
"Religious Exemption" ,
IF (
AND ( OR ( A2:A = "Moderna" , A2:A = "Pfizer" ) ,
AND ( ISDATE ( B2:B ) = TRUE , ISDATE ( C2:C ) = TRUE , ISDATE ( D2:D ) = TRUE ) ) ,
"Boosted" ,
IF (
AND ( OR ( A2:A = "Moderna" , A2:A = "Pfizer" ) ,
AND ( ISDATE ( B2:B ) = TRUE, ISDATE ( C2:C ) = TRUE , ISDATE ( D2:D ) = FALSE ) ) ,
"Vaccinated",
)
)
)
)
}
我也不介意在列表中添加“未接种疫苗”,但空白就足够了。
如果有更简单的方法来实现结果,我愿意接受各种选择。工作表中的“最后”列是所需的结果。
我在没有使用数组的情况下使用了公式,但它不能作为数组使用。
我希望我分享得正确。
https://docs.google.com/spreadsheets/d/1LIpe0uo6RQtbcAUcB6V5jrGaX-9wuSm-2vTU5Vj03Cs/edit?usp=sharing
使用
AND(a,b)
代替 a*b
,使用 OR(a,b)
代替 a+b
,使用 ISDATE
代替 ISDATE_STRICT
。
={"Covid Status";
ARRAYFORMULA (
IF (
A2:A = "Religious Exemption" ,
"Religious Exemption" ,
IF (
( ( A2:A = "Moderna" ) + ( A2:A = "Pfizer" ) ) *
( ISDATE_STRICT ( B2:B ) * ISDATE_STRICT ( C2:C ) * ISDATE_STRICT ( D2:D ) ) ,
"Boosted" ,
IF (
( ( A2:A = "Moderna") + (A2:A = "Pfizer" ) ) *
( ISDATE_STRICT ( B2:B ) * ISDATE_STRICT ( C2:C ) * ( 1-ISDATE_STRICT ( D2:D )) ) ,
"Vaccinated",
)
)
)
)
}
MAP
功能。