跳至主要内容

在Excel中创建搜索框——分步指南

Author: Siluvia Last Modified: 2025-05-07

在Excel中创建搜索框可以通过快速筛选和访问特定数据来增强电子表格的功能。本指南介绍了几种实现搜索框的方法,适用于不同版本的Excel。无论您是初学者还是高级用户,这些步骤都将帮助您使用FILTER函数、条件格式和各种公式等功能设置动态搜索框。

A screenshot of a dynamic search box in Excel


轻松使用FILTER函数创建搜索框

注意:FILTER函数适用于Excel 2019及更高版本,以及Microsoft 365版Excel。
FILTER函数提供了一种简单直接的方式来动态搜索和筛选数据。使用FILTER函数的好处包括:
  • 当您的数据发生变化时,此函数会自动更新输出结果。
  • FILTER函数可以返回任意数量的结果,从单行到数千行不等,具体取决于数据集中有多少条目符合您设定的条件。

接下来我将向您展示如何使用FILTER函数在Excel中创建搜索框。

步骤1:插入文本框并配置属性
提示:如果您只需要在一个单元格中输入内容进行搜索,并不需要显眼的搜索框,可以跳过此步骤,直接进入步骤2
  1. 转到“开发工具”选项卡,点击“插入” > “文本框 (ActiveX 控件)”。
    提示:如果功能区未显示“开发工具”选项卡,您可以按照以下教程中的说明启用它:如何在Excel功能区中显示/启用开发工具选项卡?
    A screenshot of the Developer tab in Excel with the Insert option selected for ActiveX Text Box
  2. 光标将变为十字形,然后您需要拖动光标,在工作表中想要放置文本框的位置绘制文本框。绘制完成后,释放鼠标。
    A screenshot of the cursor in Excel set to draw a text box on the worksheet
  3. 右键单击文本框,从上下文菜单中选择“属性”。
    A screenshot of right-clicking on the text box in Excel to open the Properties menu
  4. 在“属性”窗格中,通过在“LinkedCell”字段中输入单元格引用,将文本框链接到一个单元格。例如,输入“J2”可确保在文本框中输入的任何数据都会自动更新到单元格J2中,反之亦然。
    A screenshot of the Properties pane in Excel where the LinkedCell field is entered
  5. 点击“开发工具”选项卡下的“设计模式”以退出“设计模式”。
    A screenshot of the Developer tab in Excel with Design Mode selected

现在,文本框允许您输入文字。

步骤2:应用FILTER函数
  1. 在使用FILTER函数之前,请将原始标题行复制到新区域。这里我将标题行放置在搜索框下方。
    提示:这种方法可以让用户在同一列标题下清晰地查看结果,与原始数据保持一致。
    A screenshot showing the header row copied under the search box in Excel to display search results
  2. 选择第一个标题下的单元格(例如,本例中的I5),在其中输入以下公式并按“Enter”键获取结果。
    =FILTER(Sheet2!$A$5:$G$281,Sheet2!$B$5:$B$281=J2,"No data found")
    A screenshot of the FILTER function formula entered in Excel to filter data based on search input
    如上图所示,由于文本框目前没有输入内容,公式在I5中显示结果“未找到数据”。
注意事项
  • 在此公式中:
    • “Sheet2!$A$5:$G$281”:$A$5:$G$281 是您希望在Sheet2上筛选的数据区域。
    • “Sheet2!$B$5:$B$281=J2”:这部分定义了用于筛选范围的条件。它检查Sheet2中B列从第5行到第281行的每个单元格,看是否等于J2单元格中的值。J2是与搜索框链接的单元格。
    • “未找到数据”:如果FILTER函数未找到任何符合条件的行(即B列中的值等于J2单元格中的值),它将返回“未找到数据”。
  • 此方法不区分大小写,这意味着无论您输入大写还是小写字母,它都会匹配文本。
结果:测试搜索框

现在让我们测试一下搜索框。在这个例子中,当我在搜索框中输入客户名称时,相应的结果会被筛选并立即显示出来。

A screenshot showing the search box in action with results filtered and displayed based on the input


使用条件格式创建搜索框

条件格式可用于突出显示与搜索词匹配的数据,间接实现搜索框的效果。此方法不会过滤数据,而是通过视觉引导您找到相关单元格。本节将向您展示如何在Excel中使用条件格式创建搜索框。

步骤1:插入文本框并配置属性
提示:如果您只需要在一个单元格中输入内容进行搜索,并不需要显眼的搜索框,可以跳过此步骤,直接进入步骤2
  1. 转到“开发工具”选项卡,点击“插入” > “文本框 (ActiveX 控件)”。
    提示:如果功能区未显示“开发工具”选项卡,您可以按照以下教程中的说明启用它:如何在Excel功能区中显示/启用开发工具选项卡?
    A screenshot showing the text box option selected in Excel's Developer tab for creating a search box
  2. 光标将变为十字形,然后您需要拖动光标,在工作表中想要放置文本框的位置绘制文本框。绘制完成后,释放鼠标。
    A screenshot showing the process of drawing a text box in Excel to place for search input
  3. 右键单击文本框,从上下文菜单中选择“属性”。
    A screenshot showing the Properties menu in Excel where a text box is linked to a cell
  4. 在“属性”窗格中,通过在“LinkedCell”字段中输入单元格引用,将文本框链接到一个单元格。例如,输入“J3”可确保在文本框中输入的任何数据都会自动更新到单元格J3中,反之亦然。
    A screenshot of the Properties pane where a text box is linked to cell J3 in Excel
  5. 点击“开发工具”选项卡下的“设计模式”以退出“设计模式”。
    A screenshot of the Excel Developer tab with the Design Mode option highlighted to exit design mode

现在,文本框允许您输入文字。

步骤2:应用条件格式进行数据搜索
  1. 选择要搜索的整个数据范围。这里我选择范围A3:G279。
  2. 在“开始”选项卡下,点击 “条件格式” > “新建规则”。
    A screenshot showing the Conditional Formatting New Rule option selected in Excel's Home tab
  3. 在“新建格式规则”对话框中:
    1. 在“选择规则类型”选项中选择“使用公式确定要设置格式的单元格”。
    2. 在“为此公式为真时设置格式值”框中输入以下公式。
      =$B3=$J$3
      这里,“$B3”代表所选范围内要与搜索条件匹配的第一列中的第一个单元格,而“$J$3”是与搜索框链接的单元格。
    3. 点击“格式”按钮,为搜索结果指定填充颜色。
    4. 点击“确定”按钮。见截图:
      A screenshot showing the New Formatting Rule dialog box with a formula entered for Conditional Formatting in Excel
结果

现在让我们测试一下搜索框。在这个例子中,当我在搜索框中输入客户名称时,包含该客户名称的相应行会在B列中立即以指定的填充颜色高亮显示。

A screenshot showing the search box in action, highlighting matching rows in Excel based on the search input

注意:此方法不区分大小写,这意味着无论您输入大写还是小写字母,它都会匹配文本。

使用公式组合创建搜索框

如果您未使用最新版本的Excel,并且不希望仅高亮显示行,那么本节介绍的方法可能会有所帮助。您可以使用Excel公式的组合在任何版本的Excel中创建功能性的搜索框。请按照以下步骤操作。

步骤1:从搜索列中创建唯一值列表
提示:新范围中的唯一值将是我在最终搜索框中使用的条件。
  1. 在这种情况下,我选择并复制范围“B4:B281”到一个新的工作表中。
  2. 将范围粘贴到新工作表后,保持粘贴的数据处于选中状态,转到“数据”选项卡并选择“删除重复项”。
    A screenshot of the Remove Duplicates option in Excel
  3. 在打开的“删除重复项”对话框中,点击“确定”按钮。
    A screenshot of the Remove Duplicates dialog box in Excel
  4. 随后会弹出一个“Microsoft Excel”提示框,显示删除了多少个重复项。点击“确定”。
    A screenshot of the Remove Duplicates confirmation prompt in Excel
  5. 删除重复项后,选择列表中的所有唯一值(不包括标题),并通过在“名称”框中输入名称为该范围命名。这里我将范围命名为“Customer”。
    A screenshot of the Assign Name dialog box in Excel
步骤2:插入组合框并配置属性
提示:如果您只需要在一个单元格中输入内容进行搜索,并不需要显眼的搜索框,可以跳过此步骤,直接进入步骤3
  1. 返回到包含要搜索数据集的工作表。转到“开发工具”选项卡,点击“插入” > “组合框 (ActiveX 控件)”。
    提示:如果功能区未显示“开发工具”选项卡,您可以按照以下教程中的说明启用它:如何在Excel功能区中显示/启用开发工具选项卡?
    A screenshot of the Combo Box insertion in Excel
  2. 光标将变为十字形,然后您需要拖动光标,在工作表中想要放置搜索框的位置绘制组合框。绘制完成后,释放鼠标。
    A screenshot of the Combo Box drawn on an Excel worksheet
  3. 右键单击组合框,从上下文菜单中选择“属性”。
    A screenshot of the Combo Box properties in Excel
  4. 在“属性”窗格中:
    1. 通过在“LinkedCell”字段中输入单元格引用,将组合框链接到一个单元格。这里我输入“M2”。
      提示:指定此字段可确保在组合框中输入的任何数据都会自动更新到单元格M2中,反之亦然。
    2. 在“ListFillRange”字段中,输入您在步骤1中为唯一列表指定的“范围名称”。
    3. 将“MatchEntry”字段更改为“2 – fmMatchEntryNone”。
    4. 关闭“属性”窗格。
      A screenshot of the Combo Box properties pane in Excel
  5. 点击“开发工具”选项卡下的“设计模式”以退出设计模式。
    A screenshot of the exit Design Mode button in Excel

现在,您可以从组合框中选择任何项目,或输入文本进行搜索。

步骤3:应用公式
  1. 在原始数据范围旁边创建三个辅助列。见截图:
    A screenshot of the helper columns setup in Excel
  2. 在第一个辅助列标题下的单元格(H5)中输入以下公式并按“Enter”。
    =ROWS($B$5:B5)
    这里“B5”是包含要搜索列中第一个客户名称的单元格。
    A screenshot of the first formula entered in Excel for helper columns
  3. 双击公式单元格的右下角,后续单元格将自动填充相同的公式。
    A screenshot of the automatic filling of formula cells in Excel
  4. 在第二个辅助列标题下的单元格(I5)中输入以下公式并按“Enter”。然后双击公式单元格的右下角,自动填充下方单元格的相同公式。
    =IF(ISNUMBER(SEARCH($M$2,B5)),H5,"")
    这里“M2”是与组合框链接的单元格。
    A screenshot of the second formula entered for helper columns in Excel
  5. 在第三个辅助列标题下的单元格(J5)中输入以下公式并按“Enter”。然后双击公式单元格的右下角,自动填充下方单元格的相同公式。
    =IFERROR(SMALL($I$5:$I$281,H5),"") 
    A screenshot of the third formula entered for helper columns in Excel
  6. 将原始标题行复制到新区域。这里我将标题行放置在搜索框下方。
    A screenshot of the header row copied in Excel for the result range
  7. 选择第一个标题下的单元格(例如,本例中的L5),在其中输入以下公式并按“Enter”键。
    =IFERROR(INDEX($A$5:$G$281,$J5,COLUMNS($L$4:L4)),"")
    这里“A5:G281”是您希望在结果单元格中显示的整个数据范围。
    A screenshot of the result formula entered under the header in Excel
  8. 选择此公式单元格,拖动“填充柄”向右再向下,将公式应用到相应的列和行。
    A screenshot of the formula applied to the result range in Excel
    注意事项
    • 由于搜索框中没有输入内容,因此公式的结果将显示原始数据。
    • 此方法不区分大小写,这意味着无论您输入大写还是小写字母,它都会匹配文本。
结果

现在让我们测试一下搜索框。在这个例子中,当我从组合框中输入或选择客户名称时,包含该客户名称的相应行将在结果范围中被筛选并立即显示。

A screenshot of the final search box result in Excel


在Excel中创建搜索框可以显著改善您与数据交互的方式,使电子表格更加动态且用户友好。无论您选择FILTER函数的简洁性、条件格式的视觉辅助,还是公式组合的多功能性,每种方法都提供了增强数据操作能力的宝贵工具。尝试这些技术,找到最适合您特定需求和数据场景的方法。对于那些渴望深入探索Excel功能的用户,我们的网站提供了丰富的教程。在这里发现更多Excel技巧和窍门


最佳办公效率工具

🤖 Kutools AI 助手:基于智能执行生成代码创建自定义公式分析数据并生成图表调用 Kutools 函数等功能,彻底改变数据分析方式…
热门功能查找、高亮或标记重复项 | 删除空行 | 合并不丢失数据的列或单元格 | 四舍五入 ...
高级 LOOKUP多条件 VLookup | 多值 VLookup | 多表查找 | 模糊查找 ....
高级下拉列表快速创建下拉列表 | 从属下拉列表 | 多选下拉列表 ....
列管理器添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 | 比较区域和列 ...
精选功能网格聚焦 | 设计视图 | 增强编辑栏 | 工作簿与工作表管理器 | 资源库(自动文本) | 日期提取 | 合并数据 | 加密/解密单元格 | 按列表发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/斜体/删除线...)...
排名前 15 的工具集12 种文本 工具添加文本删除特定字符等) | 50 多 种图表 类型甘特图等) | 40 多种实用 公式基于生日计算年龄等) | 19 种插入 工具插入二维码根据路径插入图片等) | 12 种转换 工具小写金额转大写汇率转换等) | 7 种合并与分割 工具高级合并行分割单元格等) | 还有更多...

使用 Kutools for Excel 提升您的 Excel 技能,体验前所未有的高效。 Kutools for Excel 提供超过 300 种高级功能来提高生产力并节省时间。 单击此处获取您最需要的功能...


Office Tab 将标签式界面引入 Office,让您的工作更加轻松

  • 在 Word、Excel、PowerPoint 中启用标签式编辑和阅读
  • 在同一窗口的新标签页中打开和创建多个文档,而不是在新窗口中进行操作。
  • 将您的生产力提升 50%,每天为您减少数百次鼠标点击!