【问题标题】:Google Sheets - IF ISBLANK QUERYGoogle 表格 - IF ISBLANK QUERY
【发布时间】:2016-11-30 16:04:15
【问题描述】:

我正在尝试提出一个公式来检查 B='name' 的列是否为空。我用这个公式,如果单元格是空白的,加50分,如果不是,加0分。

我有一个特定单元格的基本公式=IF(ISBLANK(Sheet1!F8), 0, 50),但我也想查询它的名称。

这是我到目前为止得到的结果,它给了我一个错误:

=IF(ISBLANK(QUERY(Sheet1!F, "select D where lower(B)='jennifer'") F) ,0, 50)

编辑

为了避免混淆,我将多解释一下它的用法。

Sheet1 正在从用于积分系统的 Google 表单中获取信息。 该表格要求提供名字、姓氏,如果他们在当月参加或自愿参加某项活动。每个提交表格的人都有单独的表格。表格“Jennifer”是她的月积分和总积分。

我想要完成的是检查“詹妮弗”当月是否参加了活动。如果没有,则该单元格为空白,如果有,则其中包含事件名称。如果是这样,则为该月增加 50 分。因此,如果 name="Jennifer" AND month="January" 并且单元格不为空,则加 50 分。

当前代码如下,没有错误,但给出了不需要的结果:

=IF(ISBLANK(QUERY(Sheet1!A1:G, "select F where lower(B)='jennifer'and E='"&B1&"'")),0,50)

【问题讨论】:

    标签: google-sheets spreadsheet google-apps


    【解决方案1】:

    如果我理解正确,如果 B 列中的单元格是 Jennifer 或者如果它是空的,那么你想将 50 放在一个单元格中。它是否正确?如果是这样,请将此公式放在您希望数字出现的第一个单元格中。如果将其放在第 3 行,请将 B1:B 的实例更改为 B3:B

    =ARRAYFORMULA( IF(ISBLANK(B1:B),50, IF(LOWER(B1:B) = "jennifer", 50, 0)))
    

    ARRAYFORMULA 将此应用于测试范围内定义的行。在这种情况下,B1 到 B 是最后一行。

    然后我测试一个空白单元格,如果单元格为空白,则返回 50。如果它不为空,我会用大小​​写字符的任意组合对 jennifer 进行测试,如果单元格仅包含 jennifer,则放置 50。如果它有任何其他字符,它将在单元格中放置一个 0。

    请注意,这仅适用于 Google 电子表格。它不会在 Excel 电子表格中工作,因为 ARRAYFORMULA() 函数在那里不存在。您的标题列出了 Google 表格,但您也选择了 Excel 标记。

    编辑 QUERY() 函数似乎返回一个空字符串,因此结果永远不会为空。将其更改为:

    =IF("" = (QUERY(Sheet1!$A1:$G, "select F where lower(B)='"&A1&"'and E='"&B1&"'")),0,50)
    

    【讨论】:

    • 最好提供一个示例电子表格。如果我遵循这一点,则您可能不需要为每个受访者提供单独的表格,但可以在 A 列中列出每个受访者的第二张表格,并在 C-___ 列中列出他们每个月的分数。 B 列可能是总点数。当然,没有什么能阻止你拥有多张纸。无论哪种方式,使用示例数据提供答案都会更容易。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-08
    • 1970-01-01
    • 2021-11-16
    • 2021-03-27
    • 1970-01-01
    • 2021-10-14
    • 1970-01-01
    相关资源
    最近更新 更多