我在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上)并返回从DB完成的所有内容的详细信息。
Google电子表格 main spreadsheet
标签2(DB)中的数据库 DB
该公式运行良好,但是我得到了每个获得状态的单元格的重复"已完成"
附加屏幕截图链接供您参考。 不知道我错过了什么。 0_o 谢谢
答案 0 :(得分:0)
这里不需要配方。
这可以通过过滤来完成:
假设您有一个DB表like this
在您的main sheet中,将DB!A1放在单元格A1中,然后水平和垂直拖动和填充,将复制完全数据库表格复制到 main < / em> sheet(你也可以选择性地执行此操作,不需要复制每一列,只需要cpy你想要的那些)。然后点击过滤器,您可以在 排序和过滤器 中找到它,然后您会在所有列标题上看到一个下拉菜单。只需点击状态标题,即可选择已完成,然后按确定,它只会在状态列中显示已完成的行。
并here is the link to download this example sheet
答案 1 :(得分:0)
我认为您可以使用QUERY()来实现您的目标。 查看this example sheet并查看表2,其中此公式用于过滤工作表1中的数据:
=query(Sheet1!A:H, "select * where B = '"&A1&"' ")
(其中A1是一个下拉列表,其中包含值&#39;已完成&#39;,&#39;正在进行中&#39;正在解析&#39;)。 看看这有帮助吗?
答案 2 :(得分:0)
你的链接不适合我。
您应该使用专为此目的而设计的FILTER() function:
第二张纸上的单元格A2中的使用:=filter('DB'!B:AC,'DB'!B:B=$A$1)
正如所建议的那样,我会将数据验证与下拉列表一起使用,以便只选择有效的状态。