【问题标题】:Index row formula error on Google spreadsheetGoogle电子表格上的索引行公式错误
【发布时间】:2014-11-25 01:23:51
【问题描述】:

我在 Google 电子表格中有一个公式,从单元格 B2 一直到 B100,即

B2=iferror(INDEX(DB!$B:$AC,SMALL(IF(DB!$B:$AC=$A$1,ROW(DB!$B:$AC)),ROW(1:1 )),0), "") B3=iferror(INDEX(DB!$B:$AC,SMALL(IF(DB!$B:$AC=$A$1,ROW(DB!$B:$AC)),ROW(2:2)), 0), "") B4=iferror(INDEX(DB!$B:$AC,SMALL(IF(DB!$B:$AC=$A$1,ROW(DB!$B:$AC)),ROW(3:3)), 0), "") B5=iferror(INDEX(DB!$B:$AC,SMALL(IF(DB!$B:$AC=$A$1,ROW(DB!$B:$AC)),ROW(4:4)), 0), "") .. ... ......

所以它从名为“DB”的第二个选项卡中提取值。

索引行公式查找状态“已完成”(位于单元格 A1 上)并返回数据库中所有已完成的详细信息。

谷歌电子表格 main spreadsheet

标签 2 (DB) 中的数据库 DB

公式工作正常,但是我得到每个单元格的重复状态“已完成”

附加的屏幕截图链接供您参考。 不知道我错过了什么。 0_o 谢谢

【问题讨论】:

  • 您究竟想从 DB 中提取什么?你的公式和重复项之间有什么关系?请解释更多。我尝试在自己的 excel 中创建相同的工作表并模拟问题,但我不知道您到底要做什么。
  • 您好,数据库中有行,状态为“已完成”、“队列中”、“正在解决问题”、“进行中”,有些为空白。使用 tab1 上的这个公式,它只会从 db 获取“已完成”行的详细信息。而 A1 选项卡是我们输入我们想从 db 中提取的状态的地方,例如:如果我在选项卡一中输入 A1 作为“正在解决的问题”,它将返回状态为“正在解决问题”的行
  • 关于重复: - 公式为每行返回两次结果,这不应该发生。 :-|

标签: google-sheets excel-formula


【解决方案1】:

我认为您可以使用 QUERY() 来实现您想要实现的目标。 查看this example sheet 并检查表 2,该公式用于过滤表 1 中的数据:

=query(Sheet1!A:H, "select * where B = '"&A1&"' ")

(其中 A1 是一个下拉列表,其值为“已完成”、“进行中”、“正在解决”)。 看看有没有帮助?

【讨论】:

  • 哇,完美无瑕。非常感谢你。非常感谢:)
【解决方案2】:

这里不需要公式。

这只需通过过滤即可完成:

假设您有一个 DB 表 like this
在您的main sheet 中,将 DB!A1 放在单元格 A1 中,然后水平和垂直拖动并填充,以将您的 DB复制准确地放入 main sheet(您也可以有选择地执行此操作,无需复制每一列,只需 cpy 那些您想要的)。然后点击FILTER,您可以在SORT AND FILTER中找到它,然后您会在所有列标题上看到一个下拉菜单。只需点击您的 status 标题,您就可以选择 completed 并按 OK,它只会在状态列上显示已完成的行。

还有here is the link to download this example sheet

【讨论】:

  • 嗨,数据库被 20 个不同的人使用,他们每天更新 50 -60 行并改变状态。在他们进行更改时过滤另外 10 名员工并不理想,这就是为什么我们在不同的选项卡上提出了这个。除了重复之外,效果很好。但感谢您的支持。 :)
  • 我还是不明白。在我的回答中,您不在数据库中过滤,而是在新选项卡中进行过滤。在这个新选项卡中,您可以使用一个简单的公式将所有 DB 工作表复制到新选项卡,例如 =DB!A1 用于主工作表中的单元格 A1。每次数据库更新时,您的新工作表也会更新,您的过滤仍然有效。
  • 昨天试过这个工作,但我的数据库超过 6000 个单元格,其他在这里工作的人对 excel 没有信心,他们想要一些非常简单的东西。但是非常有用的信息,我不知道。 :) 谢谢
  • 不客气,所以如果我的回答试图为您的问题带来解决方案,那么请接受它作为您问题的答案,以便stackoverflow 中的未来用户直接知道要阅读的内容。
【解决方案3】:

你的链接不适合我。

您应该使用专门为此目的设计的FILTER() function

在第二张工作表的单元格 A2 中使用:=filter('DB'!B:AC,'DB'!B:B=$A$1)

按照建议,我将使用下拉列表的数据验证,以便只选择有效状态。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-20
    • 1970-01-01
    相关资源
    最近更新 更多