不用VBA也可以实现。新建一个空白表(也可以当前表的右边空白区域),在A列输入“今天”对应的值,比如A1输入1、A2输入2;在B列输入本月值;在C列输入今年值。然后点列字母A,选中整列,在“名称”框中输入“今天”,同样将B列命名为“本月”,C列命名为“今年”。在要实现效果的表中,在A列中需要显示数据的单元格,执行“数据→有效性”命令,打开“数据有效性”对话框。在“设置”标签中,单击“允许”右侧的下拉按钮,选中“序列”选项,在下面的“来源”方框中,输入“今天”,“本月”,“今年”序列(各元素之间用英文逗号隔开),确定退出。再选中B列中需要显示数据的单元格,再打开“数据有效性”对话框,选中“序列”选项后,在“来源”方框中输入公式:=INDIRECT(A1),确定退出。 追问 比如引用源数据为周一 张三周一 王五周二 张三周二 李四周三 张三 周三 李四周三 王五另一个表格里 如果a列输入周一 b列就会出现 张三 王五的下拉选项a列输入周二 b列就会出现 张三 李四的下拉选项a列输入周三 b列就会出现 张三 李四 王五的下拉选项多谢了