【问题标题】:SOLVED: Query a cell and return multiple results as string in another cell已解决:查询一个单元格并在另一个单元格中将多个结果作为字符串返回
【发布时间】:2021-04-08 12:52:26
【问题描述】:

我有一个计算活动“开始日期”(E 列)和“结束日期”(F 列)的工作表,然后将其与“理想天数”(单元格 H1)进行比较,以决定是否进程面临延迟。

例子:

活动 1 - 耗时 13 天,比理想情况多 6 天,因此迟到了。

活动 2 - 用了 4 天,这不是理想的时期,因此不迟。

如何在一个单元格中获得两个结果?

理想状态是:

活动 1 输出 - LATE (-6)

活动 2 输出 - 不迟到 (3) / 准时

How it looks on google sheets

编辑:添加了当前使用的公式。也可以在截图中看到。

=IF(G4>7, "迟到", "不迟到")

【问题讨论】:

  • 欢迎来到 Stack Overflow。如果您将公式、当前结果和所需结果作为文本发布在问题正文中,您的问题可能会得到更好的答复。
  • 谢谢!我已经编辑了帖子以添加我当前使用的公式。我的目标是将列 H 和 I 合并为一个。
  • H4 公式:=IF(I4
  • 谢谢。你把公式放在哪个单元格?我尝试使用 Cell J,但它返回错误 - CONCAT 的参数数量错误。预计 2 个,收到 3 个。
  • 这是工作表的链接:docs.google.com/spreadsheets/d/…

标签: google-sheets excel-formula google-sheets-formula formula


【解决方案1】:

我添加了一个新工作表(“Erik 帮助”)。在该表中,我从 G4:H 中删除了您所有的单个公式,并将它们替换为 G3 中的一个数组公式和 H3 中的一个数组公式。这些公式中的每一个都将为它们各自的范围生成标题和所有列结果。

G3 公式:

=ArrayFormula({"Time Taken";IF(NOT(ISNUMBER(E4:E))+NOT(ISNUMBER(F4:F)),,F4:F-E4:E)})

H3 公式:

=ArrayFormula({"Delay Status";IF(NOT(ISNUMBER(F4:F)),IF(NOT(ISNUMBER(E4:E)),,"IN PROGRESS"),IFS(F4:F-E4:E>7,"LATE (",TRUE,"ON TIME (")&H1-(F4:F-E4:E)&")")})

对于某些人来说,这些公式可能看起来“很长”。它们确实不是,但它们比人们预期的要长,因为它们控制了几种可能的错误场景。

在这里,我使用 & 符号连接 H4:H 中的最终“短语”。

【讨论】:

  • 谢谢你,埃里克。这有助于解决问题,我已经成功使用它。周末愉快!
  • 很高兴听到这个消息。您能花点时间将我的帖子标记为“最佳答案”吗?这允许贡献者从主列表页面查看哪些问题已经完全解决;它可以帮助像您这样的未来网站访问者快速找到与他们自己的搜索和需求最相关的答案。谢谢。
【解决方案2】:

单元格 H8 中的公式:

IF($G8>$H$1, CONCATENATE("LATE", SUM($G8-$H$1)), CONCATENATE("NOT LATE", 0))

我还更新了您的电子表格 Col K GoodJuJu和单元格 H8

【讨论】:

  • 感谢 GoodJuJu 花时间在工作表上更新它。您的解决方案很有帮助,我非常感谢您的支持!周末愉快!
【解决方案3】:

如果您正在寻找使用 Excel 365 的解决方案,

假设您已为理想的日期命名为 Ideal_Days

您可以在单元格H4 中尝试以下操作并将其向下拖动以应用:

=LET(x,Ideal_Days-G4,IF(x<0,"LATE ("&x&")","NOT LATE ("&x&")"))

【讨论】:

  • 谢谢,我正在使用谷歌表格。虽然 Erik 的解决方案对我有用,但我也会尝试你的解决方案。非常感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-14
  • 2021-10-14
相关资源
最近更新 更多