Google Sheet 中的多个 IFS 函数

问题描述 投票:0回答:1

sample data

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

参考上面的示例数据图片和链接,我需要帮助在E列中制作公式,其中条件如下:

  1. 如果 A 列 = 样本/图纸更新,并且 C 列 = 已完成,则根据 D 列中的数据搜索 B 列中的数据,如果找到匹配项,则返回“现有数据”。如果未找到,“需要更新”

  2. 如果 A 列 = 样本/图纸更新,且 C 列 = 进行中/尚未开始,则返回“待确认”。

  3. 如果 A 列 = 样本/图纸更新,且 C 列 = 已取消/暂停,则返回“无需采取任何措施”。

我已经尝试过下面的公式1,但似乎不起作用。我是新帮手。请帮忙。 =IFS(AND(OR(A2:2="样本",A2:A="图纸更新"),C2:C="已完成"),INDEX(IF(LEN(B2:2), IF(ISNUMBER(匹配) (B2:B, D2:D, 0)),“现有数据”,“需要更新”),)))

if-statement google-sheets match multiple-conditions ifs
1个回答
0
投票

据我所知,您正在混合比较一次整个范围与一次特定行。

我将提供两种解决方案,涵盖您所要求的所有场景。

单电池

=IF(OR(A2="SAMPLE",A2="DRAWING UPDATES"),
IFS(C2="COMPLETED",IF(IFNA(XMATCH(B2,D$2:D,0),FALSE),"Existing Data","Updates Required"),
OR(C2="IN PROGRESS",C2="NOT YET STARTED"),"Pending Confirmation",
OR(C2="CANCELLED",C2="ON HOLD"),"No action required"),
"")

您需要将其放入 E 列的第一个单元格中,然后使用填充柄并将其向下拖动到其余单元格。

全系列

或者,如果您只想将其放入列中并应用它,而不必将其向下拖动到每个单元格,则使用以下公式:

=LET(existing,D2:D,MAP(A2:A,B2:B,C2:C,LAMBDA(task,part,status,IF(OR(task="SAMPLE",task="DRAWING UPDATES"),
IFS(status="COMPLETED",IF(IFNA(XMATCH(part,existing,0),FALSE),"Existing Data","Updates Required"),
OR(status="IN PROGRESS",status="NOT YET STARTED"),"Pending Confirmation",
OR(status="CANCELLED",status="ON HOLD"),"No action required"),
""))))
  • A2:A
    任务 列。
  • B2:B
    零件编号 列。
  • C2:C
    状态 列。
  • D2:D
    现有列。
© www.soinside.com 2019 - 2024. All rights reserved.