Excel动态搜索公式

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

我正在尝试创建一个搜索功能,而不使用 VBA,而仅使用联系人列表的公式。对公式细分的任何澄清也会有所帮助,因为我是使用 Excel 公式的新手。我一直在试图找出可以检查所有这些框的东西,但它总是缺少以下其中一项。信息及要求如下:

  • 单独的工作表中有 6 列数据。作为参考,搜索框位于 B2 中。整个数据数组位于 Directory!A3:F1000(技术上通过 F63,但我想详尽无遗)。我只是将这些结果重新显示在工作表中,我正在使用底部的公式。

我的要求如下:

  1. 搜索不区分大小写的匹配项。
  2. 搜索部分文本匹配。
  3. 将显示为零的所有空白值替换为空白。
  4. 按字母顺序对所有条目进行排序。
  5. 在所有列中搜索与搜索值匹配的值,并将所有结果作为整行的条目返回。
  6. 如果没有与搜索结果匹配的内容,则返回“无”或“无结果”。

可选 7. 如果搜索框为空,则隐藏搜索结果。我知道这可以通过条件格式来实现,但我希望有一个“更干净”的解决方案。

这是我当前使用的公式,但它不显示部分文本匹配。我之前也没有使用文本框,因此如果不按 Enter 键,结果不会自动填充,但是现在应该修复这个问题:

=IF(SORT(FILTER(Directory!A3:F997,(Directory!A3:A997=B2)+(Directory!B3:B997=B2)+(Directory!C3:C997=B2)+(Directory!D3:D997=B2)+(Directory!E3:E997=B2)+(Directory!F3:F997=B2),"None"))=0,"",SORT(FILTER(Directory!A3:E997,(Directory!A3:A997=B2)+(Directory!B3:B997=B2)+(Directory!C3:C997=B2)+(Directory!D3:D997=B2)+(Directory!E3:E997=B2)+(Directory!F3:F997=B2),"None")))

这些不是我尝试过的所有公式,但我尝试过的另一个公式如下。唯一的问题是我不知道如何添加 AND/OR 公式以对多列使用 SEARCH 函数:

=IF(SORT(FILTER(Directory!A3:F1000,ISNUMBER(SEARCH(B2,Directory!A3:A1000)),"None"))=0,"",SORT(FILTER(Directory!A3:F1000,ISNUMBER(SEARCH(B2,Directory!A3:A1000)),"None")))
excel search formula
1个回答
0
投票

已解决。我能够在实际目录中对其进行排序,并且通过切换到“ISNUMBER(SEARCH”) 解决了所有其他问题。我只是希望我有一个 VBA 可以在输入新数据时自动使用数组而不是表对两列进行排序.

=IF(FILTER(Directory!A4:F1000,ISNUMBER(SEARCH(B2,Directory!A4:A1000))+ISNUMBER(SEARCH(B2,Directory!B4:B1000))+ISNUMBER(SEARCH(B2,Directory!C4:C1000))+ISNUMBER(SEARCH(B2,Directory!D4:D1000))+ISNUMBER(SEARCH(B2,Directory!E4:E1000))+ISNUMBER(SEARCH(B2,Directory!E4:E1000)),"No results")=0,"",(FILTER(Directory!A4:F1000,ISNUMBER(SEARCH(B2,Directory!A4:A1000))+ISNUMBER(SEARCH(B2,Directory!B4:B1000))+ISNUMBER(SEARCH(B2,Directory!C4:C1000))+ISNUMBER(SEARCH(B2,Directory!D4:D1000))+ISNUMBER(SEARCH(B2,Directory!E4:E1000))+ISNUMBER(SEARCH(B2,Directory!E4:E1000)),"No results")))
© www.soinside.com 2019 - 2024. All rights reserved.