Kim在Excel中创建了一个表格,该表格依靠数据验证来使用下拉列表显示答案。表格中有一系列问题。他想知道是否有一种方法可以迫使问题按顺序回答。他希望,例如,用户在进入问题2之前先回答问题1,等等。

完成此类任务可能会因使用宏或创建用户表单而大声疾呼,但您无需走这条路。 (使用宏和用户表单功能非常强大,但是它们也比某些人想要的复杂。)您只需简单地调整数据验证下拉列表中使用的规范,即可获得一定程度的“有序性”。

例如,您需要在工作簿中设置一些命名范围。选择一个单元并将其命名为“默认”。在该单元格中输入默认消息,例如文本“按顺序回答问题”。在另一个命名范围(也许命名为“ Q1Answers”)中,您将包括第一个问题的可接受答案的列表。最后,您应该为包含用户对问题的答案的单元格分配一个名称,例如“ Q1Response”。您可以为其他可接受的答案和对其他问题(Q2Answers,Q3Answers,Q2Response等)的响应创建相似的命名范围。

然后,在针对每个问题的验证检查中,您可以使用公式来指定应使用Excel作为可能的答案。在这种情况下,问题1的验证设置很容易。只需将“允许”设置设置为“列表”,然后(在“源”框中指定)即可使用要使用的Q1Answers范围。但是,对于后续问题,应在“源”框中使用公式。例如,对于问题2,应在“源”框中使用以下公式:

=IF(OR(Q1Response="",Q1Response=Default),Default,Q2Answers)

对于每个后续问题,您都可以将Q1的名称更改为适合前一个问题的名称,并将Q2的名称更改为适合当前问题的名称。该公式起作用是因为它指定如果对问题1的回答为空或等于默认值(“按顺序回答问题”),则默认答案将显示为问题2的选择。存在,则问题2的答案将显示并可以选择。如果人们在尚未回答较早的问题时尝试回答问题,则唯一可见的下拉选项将是默认值(“按顺序回答问题”)。

如果需要,可以通过将条件格式添加到混合中来进一步采取这种方法。如果使用相同类型的测试(以查看是否回答了上一个问题),则可以修改包含问题的单元格的格式。例如,如果前一个问题没有得到回答,则只需格式化后一个问题,以使其显示为白色。这使它们消失在细胞的白色背景中。然后,在回答每个问题时,似乎依次出现了下一个问题。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(8384)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本:

链接:/ excelribbon-Answering_Questions_in_Order [按顺序回答问题]。