Excel 搜索功能尝试仅显示某些列时出现问题

问题描述 投票:0回答:1

[Office 专业 2021] 我有一个由 2 张纸组成的 Excel 工作簿:

--第一个工作表被命名为Database_locale,它有一个表,其中包含从A列到L列的数据,该数据库每天都会更新,所以现在它有大约12000行,但随着时间的推移它会增加。

--第二张称为Ricerca,它有一个单元格(C6),我可以在其中输入任何内容,但在这种情况下我正在寻找名称。 在同一张纸的单独单元格中,我有一个公式,可以实际查找值并返回它们。

它需要做的是查找B列中的表Database_locale(所有名称都在其中)中的所有单元格,并返回与我查找的名称匹配的所有行。

我先尝试过这个:

=FILTER(Database_locale!A2:L1000000; ISNUMBER(SEARCH("*"&C6&"*"; Database_locale!B2:B1000000)))

它可以工作并返回从 A 到 L 的所有列以及按预期匹配的所有行。

现在我想做的是只显示一些列(1,2和5)以删除一些不必要的数据,所以我使用了这样的索引函数:

=INDEX(FILTER(Database_locale!A2:L1000000; ISNUMBER(SEARCH("*"&C6&"*"; Database_locale!B2:B1000000)));; 1)

效果很好,只返回第 1 列。

问题是,如果我添加更多列来显示,它就无法按预期工作。 我试过:

=INDEX(FILTER(Database_locale!A2:L1000000; ISNUMBER(SEARCH("*"&C6&"*"; Database_locale!B2:B1000000)));; {1;2;5}) 

=INDEX(FILTER(Database_locale!A2:L1000000; ISNUMBER(SEARCH("*"&C6&"*"; Database_locale!B2:B1000000)));; [1;2;5])

两者都会给出不同的错误或部分工作,但以一种非常奇怪的方式,我尝试了更多的组合,但列出每一个并解释它们的作用将是很长的阅读时间。

我可以使用正确显示一列的公式,并为我需要显示的每一其他列添加一个公式,但工作表变得缓慢。

可能我犯了一个愚蠢的错误并且没有注意到它,但我已经尝试了几个小时,但无法让它在单个公式中工作以显示我需要的所有列。

This is what i'm looking for

预先感谢,抱歉我的英语!

excel database search indexing
1个回答
0
投票

您可以在

FILTER
行之后将
FILTER
应用于列。如果您有很多列,该公式会变得很麻烦,但对于您的示例来说应该没问题。

=FILTER(FILTER(A:F,ISNUMBER((SEARCH("*"&I5&"*",B:B)))),(A1:F1=J4)+(A1:F1=K4)+(A1:F1=L4))

© www.soinside.com 2019 - 2024. All rights reserved.