如何在Google Sheets中多条件跨表提取数据并标记支付人?
多条件提取并添加标记解决方案
针对意大利语Google Sheets版本
直接在目标单元格输入以下公式,即可完成所有规则的提取和标记:
=FILTRA( { ARRAYFORMULA(SE(transfers!B2:B=VERO; {transfers!D2:D\ "X"}; {"\"\ "})); ARRAYFORMULA(SE(transfers!E2:E=VERO; {transfers!G2:G\ "Y"}; {"\"\ "})); ARRAYFORMULA(SE(transfers!H2:H=VERO; {transfers!J2:J\ "Z"}; {"\"\ "})) }; INDICE({ ARRAYFORMULA(SE(transfers!B2:B=VERO; {transfers!D2:D\ "X"}; {"\"\ "})); ARRAYFORMULA(SE(transfers!E2:E=VERO; {transfers!G2:G\ "Y"}; {"\"\ "})); ARRAYFORMULA(SE(transfers!H2:H=VERO; {transfers!J2:J\ "Z"}; {"\"\ "})) };;1)<>"" )
针对英文Google Sheets版本
如果你的表格是英文界面,使用以下公式:
=FILTER( { ARRAYFORMULA(IF(transfers!B2:B=TRUE, {transfers!D2:D, "X"}, {"", ""})), ARRAYFORMULA(IF(transfers!E2:E=TRUE, {transfers!G2:G, "Y"}, {"", ""})), ARRAYFORMULA(IF(transfers!H2:H=TRUE, {transfers!J2:J, "Z"}, {"", ""})) }; INDEX({ ARRAYFORMULA(IF(transfers!B2:B=TRUE, {transfers!D2:D, "X"}, {"", ""})), ARRAYFORMULA(IF(transfers!E2:E=TRUE, {transfers!G2:G, "Y"}, {"", ""})), ARRAYFORMULA(IF(transfers!H2:H=TRUE, {transfers!J2:J, "Z"}, {"", ""})) },,1)<>"" )
公式逻辑说明
- 用
ARRAYFORMULA结合条件判断函数(意大利语SE/英语IF)分别处理三个规则:- B列复选框勾选时,提取D列内容并在右侧单元格标记
X - E列复选框勾选时,提取G列内容并标记
Y - H列复选框勾选时,提取J列内容并标记
Z
- B列复选框勾选时,提取D列内容并在右侧单元格标记
- 通过
{...;...;...}将三个条件的结果纵向合并成一个数据集 - 最后用过滤函数(意大利语
FILTRA/英语FILTER)剔除合并结果中第一列为空的无效行,只保留符合条件的数据
注意事项
- 公式从第2行开始计算是为了避开表头,若你的数据源表头不在第1行,自行调整单元格区域的行号即可
- 同表格内提取无需使用
IMPORTRANGE,只有跨独立表格提取时才需要该函数,且首次使用需授权访问目标表格
内容的提问来源于stack exchange,提问作者Bianca G.
相关产品推荐
相关产品推荐

