MICROSOFT

EP06. “Insert a Checkbox in Excel 插入复选框”

首页 Microsoft 工具 Excel · Basics · Ribbon · EP06
约 6 分钟· #EP06#Excel#Ribbon
🔒 登录后可标记已读
  • 复选框(Checkbox)是 Excel 表单控件的一种,可以做检查清单
  • 也能搭配公式做出「勾选就切换图表显示」这类互动效果
  • 这篇教:怎么插入复选框、链接到单元格、用一批复选框做检查清单,以及用复选框控制图表显示
  • 前置知识:EP04 的开发者选项卡(复选框要从这里插入)和基本的 IF / COUNTIF 函数
  • 学完能做出比纯静态表格更好用的互动式工作表

重点内容


适用版本

桌面版通用(Excel 365 / 2021 / 2019 等),复选框需要先开启 Developer(开发者)标签页才能使用,见 EP04。


插入复选框

  1. 到 Developer 标签页 → Controls(控件)组,点击 Insert(插入)
  2. 在 Form Controls(表单控件)分类下选择 Checkbox(复选框)
  3. 在目标单元格(例如 B2)上拖拽画出复选框
  4. 右键删除默认自带的「Check Box 1」这类标签文字,只留下勾选框本身

[截图:Developer 标签页 Insert 下拉菜单,Form Controls 分类里 Checkbox 图标的位置]


把复选框链接到单元格

  1. 在复选框上右键,选择 Format Control(设置控件格式)
  2. 在「单元格链接」里指定要链接的单元格,例如 C2
  3. 测试勾选/取消勾选,观察 C2 会自动显示 TRUE 或 FALSE

[截图:Format Control 对话框 Control 标签页,Cell link 栏填入 C2 的界面]

  1. 可以把 C 这一整列隐藏起来,不让使用者看到这些技术性的 TRUE/FALSE 值
  2. 之后可以用 IF 函数读取 C2 的 TRUE/FALSE,转换成想要的显示内容

制作检查清单

  1. 在 B2 画好一个复选框
  2. 复制这个复选框,贴到 B3 一路到 B11
  3. 把每个复选框分别链接到旁边对应的单元格(C2、C3……以此类推)
  4. COUNTIF 统计已勾选的项目数量,例如 =COUNTIF(C2:C11,TRUE)
  5. 把 C 列隐藏起来
  6. 用 IF 函数判断是否全部勾选完成,显示对应的完成状态文字
  7. 搭配条件格式,让完成状态的背景颜色自动变化(比如全部勾完变绿色)

[截图:完成的检查清单效果,一排复选框加上自动统计的已勾选数量、全部勾完后完成状态变绿色]


动态图表:用复选框切换数据系列

  1. 建立一个包含两组数据系列的组合图表
  2. 加两个复选框,分别链接到 B15 和 C15
  3. 用 IF 函数建立新的数据系列:链接单元格为 FALSE 时,让该数据系列返回 #N/A(图表会自动跳过不显示)
  4. 到图表的 Select Data(选择数据)里,把数据系列来源换成刚才用 IF 建立的新数据系列
  5. 之后勾选/取消勾选复选框,就能动态切换图表要显示哪组数据

删除复选框

按住 Ctrl 键,用鼠标左键依次点选多个复选框,选中后按 Delete 键即可批量删除。


进阶:ActiveX 复选框 + VBA

除了表单控件复选框,也可以用 ActiveX 控件的复选框搭配 VBA 代码做更复杂的自动化,例如根据勾选状态自动隐藏/显示某一列:

If CheckBox1.Value = True Then Columns("F").Hidden = True
If CheckBox1.Value = False Then Columns("F").Hidden = False


函数速查

函数语法用途例子
COUNTIF=COUNTIF(range, criteria)统计符合条件的单元格数量=COUNTIF(C2:C11,TRUE)
IF=IF(condition, value_if_true, value_if_false)依条件返回不同结果=IF(C2=TRUE,"已完成","未完成")

学完你会

  • ✅ 插入复选框并链接到单元格,读取 TRUE/FALSE 状态
  • ✅ 用一批复选框搭配 COUNTIF 做出会自动统计进度的检查清单
  • ✅ 用复选框搭配 IF 控制图表要显示哪组数据

常见错误

  • 找不到 Checkbox 插入入口,忘记要先开启 Developer 标签页(见 EP04)
  • 忘记删除复选框自带的默认标签文字(如「Check Box 1」),画面看起来很乱
  • 链接单元格列(C 列)没有隐藏,使用者看到一堆 TRUE/FALSE,不知道是什么意思
  • 动态图表里,忘记用 IF 让未勾选的数据系列返回 #N/A,导致图表还是显示着不该显示的数据

Sources

Blog / Website:

  1. Checkbox