这是我在 Excel 中遇到的问题的描述。
A 列.......B 列.
问题......答案(从下拉列表中选择)
我有 5 张工作表,每张都有近 500 个问题,格式相同。
我想用特定的下拉列表(本例中为“是,否”)计算 B 列中的所有单元格。重申一下,我不是在寻找一个计算所有带有“是”或“否”的单元格的公式。我希望能够计算出所有可以选择“是”或“否”的单元格
浏览了常见论坛以寻找此类疑问,但尚未找到答案。如果可能,请提供帮助。
谢谢!
答案1
使用公式无法实现这一点。您需要 VBA。
从概念上来说:
启动宏录制器。
在第一张工作表上,选择您想要探索的数据验证的单元格。
按 F5 > 特殊 > 勾选数据验证 > 勾选相同。这将选择所有具有相同数据验证规则的单元格。
停止宏录制器并编辑录制的代码
你会看到类似
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")