我正在开展一个工作项目,并且对excel vba非常不熟悉。我的老板给了我一张工作表,其中包含一个包含多个学生ID号的栏目,其余栏目是他们对调查的答案。该调查是多项选择,并选择所有适用的选项。
我需要找出一种方法来查找选择问题中的一个问题的次数。 例如,如果有10个学生,并且有2个答案的问题,5个人选择是,5个选择否,我需要它最终告诉我50%选择答案是,50%选择答案否。
对于非多项选择题,例如选择过去所有的AP课程,我需要知道同样的事情。因为这是一个问题,该列中的一些单元格是空白的。
我一直在努力寻找解决方案。到目前为止,我已尝试对其中一个答案出现在某一列中的次数进行countIF(我无法搜索整个工作表,因为许多问题都有相同的答案选项)。我最大的问题是我无法弄清楚如何编写countif的范围,因为我需要将范围作为我声明的列号,但该行需要是数据列中的最后一行。每次调整范围都不一样,因为调查的学生数量每次都在变化,所以我需要将范围作为我设置的列的第一行,如A1,然后是最后一行那一栏。
如何做到这一点的任何帮助或资源都会很棒,我一直在网上搜索并阅读有关vba的信息。
答案 0 :(得分:0)
我打算建议远离excel VBA,只使用基本的excel公式来得出这些答案。您是否有理由认为需要excel VBA?
无论如何,这是将范围定义为列+最后一行的标准方法。此示例适用于A列
Dim LastRow As Long
LastRow = Sheet1.Range("A" & Rows.Count).End(xlUp).Row