使用特定数据验证列表计数单元格

使用特定数据验证列表计数单元格

这是我在 Excel 中遇到的问题的描述。

A 列.......B 列.

问题......答案(从下拉列表中选择)

我有 5 张工作表,每张都有近 500 个问题,格式相同。

我想用特定的下拉列表(本例中为“是,否”)计算 B 列中的所有单元格。重申一下,我不是在寻找一个计算所有带有“是”或“否”的单元格的公式。我希望能够计算出所有可以选择“是”或“否”的单元格

浏览了常见论坛以寻找此类疑问,但尚未找到答案。如果可能,请提供帮助。

谢谢!

答案1

使用公式无法实现这一点。您需要 VBA。

从概念上来说:

  1. 启动宏录制器。

  2. 在第一张工作表上,选择您想要探索的数据验证的单元格。

  3. 按 F5 > 特殊 > 勾选数据验证 > 勾选相同。这将选择所有具有相同数据验证规则的单元格。

  4. 停止宏录制器并编辑录制的代码

你会看到类似

Sub Macro2()
'
' Macro2 Macro
'

'
    Range("B1").Select
    Selection.SpecialCells(xlCellTypeSameValidation).Select
End Sub

现在,您可以使用 计算选定单元格的数量Selection.Count。将其存储在变量中,然后对每个工作表重复步骤 2 到 3。将 Selection.Count 添加到变量中,最后您将获得具有相同数据验证规则的单元格总数。

答案2

要将单元格显示为下拉列表,您可以使用数据选项卡 ( shortcut: Alt > D > L) 中的数据验证项,然后选择列表并在单元格中输入您想要显示为选择的选项(例如是、否)。(逗号用于分隔选项)。

对于汇总答案,我更喜欢使用 Countif(range,rule) 公式。例如,您在 A 列中有 100 个问题(问题范围:A1:A100),而用户在 B 列中为每个问题回答(答案范围:B1:B100)。要计算“是”结果,您可以在另一个单元格(如 B101)中使用此公式:=COUNTIF(B1:B100,"Yes")

相关内容