【问题标题】:Google Sheets =IF formula working sporadically across multiple sheetsGoogle Sheets =IF 公式偶尔在多张工作表中起作用
【发布时间】:2019-12-09 15:43:25
【问题描述】:

我有一个包含多个工作表的工作簿,我正在尝试在工作表之间转换信息。

我正在使用 =IF 公式来识别 Sheet1 中存在数据匹配的实例,并将相应列标题中的信息提取到 Sheet2 中。

在任何人提到之前,我已经尝试使用 VLOOKUP 函数进行此操作,不幸的是该函数仅适用于数字数据(我的集合是按字母顺序排列的)。

不幸的是,我使用的公式似乎只是偶尔起作用 - 尽管在它确实起作用的情况下,它可以完美地按预期工作。在所有其他情况下,它会返回 #VALUE!错误或无法将逻辑函数识别为真。

=IF(Sheet1!$B$3:$B$46=Sheet2!B$1, Sheet1!$C$2:$AB$2, "-")

The live version of the formula is linked here (Google Docs).

如何使公式适用于所有单元格?非常感谢任何和所有的帮助,谢谢!

【问题讨论】:

  • 谁说 VLOOKUP 只适用于数值数据?这是一个不正确的假设。 VLOOKUP 适用于所有数据类型,它们只需要匹配即可。 =VLOOKUP(Sheet2!B$1,Sheet1!$B$3:C$46,2,FALSE) 将返回 C 中与 B 匹配的值。
  • 为错误向@ScottCraner 道歉。但是我使用 VLOOKUP 进行了尝试,它现在从 Sheet2!B1:J1 返回结果,而不是返回 Sheet1!B2:J2(用示例更新了实时工作表)。
  • 试用过滤器:=FILTER(Sheet1!$C$2:$AB$2,Sheet1!$B$3:$B$46=Sheet2!B$1)
  • 请提供一些所需输出的示例

标签: google-sheets google-sheets-formula


【解决方案1】:

我能够使用 ArrayFormula 填充整个范围。但是,我不了解您的电子表格背后的基本逻辑,因此这可能不是您想要的。

=ArrayFormula(IF(Sheet1!$B$3:$AB=Sheet2!B$1:AB$1, Sheet1!$B$2:$AB$2, "-"))

长话短说,IF 公式不会返回多个值 - 您必须使用 ArrayFormula 包装它才能针对整个范围执行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-30
    • 1970-01-01
    • 2016-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-01
    相关资源
    最近更新 更多